Before first production request
-
/.well-known/fau-agentserves HTTPS JSON;domainmatches host; no redirect - Ed25519 keypair; stable
kid; private key in a secret store - RFC 9421 covers
@method,@target-uri,@authority,content-digest - Unique nonces; NTP-synced clocks; lifetime ≤ 300 s
- Resolve via
https://relay.fau.run/v1/resolve - Live path: unsigned
GET /.well-known/fau-node, signedPOST /mcp - MCP:
Accept: application/json, text/event-stream;initializebefore tools - Offline path: sealed queue (know v1 replies may not be decryptable)
- UI shows match codes + verified domain on
approval_required - Retry rules: structured/
askwithoutapproval_id; excerpt/send with it - Backoff on HTTP
429and toolrate_limited - No code path requests Gmail passwords or OAuth inbox tokens
Product copy
- “Answers from mail on your computer,” not “we connect to Gmail for you.”
- On denial/block, blame policy/user choice, not a vague platform error.
Security review prompts
- Can a stolen capability token be used from another domain? (Should fail
bound_key.) - Can tool args widen categories? (Gateway clamps.)
- Do you log raw excerpts? Prefer not to.