CoreDirective reference architecture

four privilege tiers, every credential named with its lifetime, sanitized, no addresses, ports, or versions

Identity and accessBack to portfolioClick a box for what it is, the controls it holds, and the file that proves it.
PrincipalDecision pointResourceIf the credential is stolen Tier 0 break-glass static key, source-restricted, last resort, no broker in the path allowlisted source host sshd Ed25519 key, static root path, no broker host shell whole host, from one source rangeFalco sees the session after the fact Tier 1 operator humans, three realm roles: admin, operator, auditor operator Access Keycloak email one-time PIN or the identity provider, 24h session OIDC code with PKCE, lockout on failed logins identity checked before origin admin consoles operator Teleport local user, TOTP, sessions recorded elevation by request, ends at 4h host SSH consoles until the 24h session endsSSH recorded, elevation ends at 4h Tier 2 service machines trade one bootstrap secret for a short-lived credential n8n and services Vault DB engine service token to the engine dynamic creds, 1h lease Postgres CI runner OIDC exchange signed JWT, main branch only minutes-lived token, read-only cloud API Telegram Access bypass published egress ranges only chat ID checked, rate limited one webhook path one database, for one hourno stored cloud key exists to leak Tier 3 agent six agent roles in the realm, five-minute tokens, screened on the way out alert source webhook token shared-secret header, rotated typed payload, schema checked Squire Squire Guardrails no model key in the agent API key held here, spend cap Claude API Squire actions allowlist typed actions, deny by default webhook token, one chat ID Telegram notify an injection reaches the allowlist,not the operator or cloud planes break-glass, static key human session, MFA machine identity, short-lived agent path, screened external service
Humanone-time PIN or OIDC → consoles, 24h. TOTP → recorded SSH, elevation by request ends at 4h
Machinedatabase engine → 1h lease. signed JWT from main → minutes, read-only. no stored cloud key
Agentsecret header in → rails → key held by guardrails → allowlist out, one chat ID
Break-glassone source range, one key, whole host, watched after the fact