Security documentation pack
Supplier-assessment and EIR classification pack for self-hosted AgentPlaybooks (NIS2 Article 21(2)(a), (d), (g); 7/2024. (VI. 24.) MK rendelet mapped to NIST SP 800-53 rev. 5 families).
Hungarian is the language of record. Full text lives in the repository (not only on this page):
- docs/security/README.hu.md — index
- Whitepaper (HU) · EN
- Asset inventory (HU) · EN
- Risk-assessment template (HU) · CSV
In a clone of this tree the same files are under docs/security/.
jogi ellenőrzés szükséges. This page is not legal advice, not a certification, and not an EIR classification. The customer's IBF and counsel must approve every legal interpretation before production use.
What the code actually does (summary)
Verified in source; details and file links are in the whitepaper.
| Area | Present | Not present |
| Crypto | AES-256-GCM, HKDF-SHA-256 per-user keys, AAD-bound v2 ciphertext | KMS/HSM, re-encryption rotation | |
| TLS / mTLS | Platform TLS on hosted Cloudflare; hosted mTLS via cf.tlsClientAuth; self-host MTLS_MODE=proxy behind a trusted terminator. Done on main: #201 | Node does not terminate TLS; without a terminator certificate auth stays fail-closed | |
| AuthN / AuthZ | Supabase Auth; Entra/Google/GitHub/LinkedIn OIDC if enabled; owner\ | editor; API-key roles including proposer | App-level MFA; SAML; auditor role on main. Folyamatban / In progress: #202 |
| Audit | audit_logs for federation and secret.*; owner read API | SIEM/syslog export, retention job, hash chain, skills/memory/canvas writes. Folyamatban / In progress: #202 | |
| Expiry | Enforced secret expires_at; API-key expiry; mTLS client revoke | Background purge job | |
| Self-host | Docker app on port 3000; separate Supabase stack required; local Geist woff2 (next/font/local); isolated no-egress CI for the secrets flow (deploy/airgap/). Done on main: fonts #200; CI #204 | Production compose is still app-only; npm ci / base images pull before isolation; use_secret egress unless destinations are pinned | |
| SDLC | Dependabot, npm audit:production in CI, CLI npm provenance, CodeQL, CycloneDX SBOM, cosign of SBOM blobs, SECURITY.md, incident runbook, GitHub private vulnerability reporting (no security email), encrypted on-prem backup/restore + empty-machine drill. Done on main: #205, #207, #203 | Signed container registry publish |
Operations checklist: Self-Hosting. Architecture: Architecture.
Keep the live inventory current:
npm run inventory:self-host
npm run docs:check