Skip to main content

Security invariants

InvariantStatus and exact scope
Payload identity is not authenticationImplemented in gateway: verified certificate ID replaces producer identity
Tenant belongs to the registryImplemented: unknown agents are refused; roster determines tenant
No ACK before required broker durabilityImplemented gateway behavior; depends on broker replication policy
No implicit permission on control routesImplemented route registration and guard
Agent/backend code is not sharedImplemented architecture tests; only published contracts cross the boundary
Private keys originate at endpointsImplemented agent key provider; full enrollment workflow remains planned
No shared global agent credentialArchitectural requirement; current key provider creates distinct keys
Endpoint key is not sent to the serverSigner/CSR boundary; does not claim files are non-exportable
Runtime resources are finiteImplemented bounds where components exist; spool/delivery bounds await those components
Durable source progressTarget: collection checkpoints must follow durable local admission
No arbitrary remote shellTarget invariant; no response channel is implemented
Verified updatesPlanned; updates are disabled today

Invariants are narrower than slogans

“Authenticated endpoint” means possession of a trusted credential, not a trustworthy operating system. “Durable” names a specific persisted boundary, not unlimited retention or immunity to cluster loss. “Revoked” is an agent state distributed to gateways, not an instantaneous global invalidation of all existing TLS connections.

Use architecture and failure tests to keep these claims executable. When a new implementation introduces a second identity source, a new protocol representation, or an early acknowledgement, it must be reviewed against the existing owner and contract before being treated as an optimization.

Source evidence

Reviewed against the source baseline. Seagull-backend-v2/tests/architecture/dependencies_test.go · Seagull-agent-v2/tests/architecture/boundaries_test.go · Seagull-backend-v2/internal/ingest/http.go · Seagull-agent-v2/README.md.