A write needs a real signature over the real body from the right key; replays, other namespaces and reserved paths are refused.
93 tests in 15 files. Source: Typescript/tests/
A write is authorized only by a real signature over the real body from the right key; an echoed identityHash or a signature over another body is refused.
Signed writes are bound to the chain head: resending a body, an old grant or a write meant for another namespace fails.
An identity claiming an unrelated namespace string cannot write into the real root's apps.* or keychain storage.
The root's claim cannot write into or read users.<other>.* content; malformed paths get 400.
apps.<appId>.* writes: ownership, scoped grants, isolation between apps, revocation, and no writes under a foreign root.
Keychain: list, register, sign, revoke, reject; the last admin key cannot be revoked; control recovers from the identity alone.
Signed gateway bootstrap, grant, revoke and transfer; a generic write cannot touch daemon.gateways.*.
netget.main.server.name changes only by the owner's signature; replays and altered bodies are refused.
The main server name is a public path, declared only when asked, normalized, and never writable unsigned over HTTP.
Unsigned writes to netget.* are refused for unclaimed namespaces; ordinary writes are not blocked.
Builds the netget exposure and registration payload from bootstrap, including public host aliases.
The gateway's routing records need an internal caller; a wrong token is as good as none.
The session and host token flow is disabled after the 2026-10-04 audit: no token or nonce for an arbitrary username.
A payload signed by this.me verifies in monad, and a mismatched canonical message is rejected.
A proof is checked over the namespace spelling that was sent; an alias is the same identity, a proof for another namespace is refused.