This FAQ addresses the most common security questions we receive from CISOs, security architects, and enterprise procurement teams evaluating AgentVault for their organizations.Documentation Index
Fetch the complete documentation index at: https://docs.agentvault.chat/llms.txt
Use this file to discover all available pages before exploring further.
Encryption & Data Protection
Can AgentVault decrypt customer messages?
Can AgentVault decrypt customer messages?
What happens if your database is breached?
What happens if your database is breached?
- Encrypted message blobs (
BYTEAciphertext) that cannot be decrypted without client-side keys - BLAKE2b hashes of invite tokens (not the raw tokens)
- Public keys of enrolled devices (which are, by definition, public)
- Metadata such as tenant names, device fingerprints, and timestamps
- Any plaintext message content
- Any private keys or decryption keys
- Any raw invite tokens
What encryption algorithms does AgentVault use?
What encryption algorithms does AgentVault use?
| Function | Algorithm | Why |
|---|---|---|
| Key exchange | X25519 (X3DH) | Extended Triple Diffie-Hellman for secure session establishment |
| Signing | Ed25519 | Device identity verification and DID document signatures |
| Symmetric encryption | XChaCha20-Poly1305 | AEAD cipher with 192-bit nonce eliminates nonce reuse risk |
| Key derivation | Double Ratchet | Per-message forward secrecy |
| Hashing | BLAKE2b | Invite token storage, key fingerprints |
Does AgentVault provide forward secrecy?
Does AgentVault provide forward secrecy?
Are push notifications secure?
Are push notifications secure?
Access Control & Authentication
How are users and agents enrolled?
How are users and agents enrolled?
- A tenant administrator generates a time-limited invite token.
- The invitee (owner or agent) uses the token to initiate enrollment, generating an Ed25519 keypair on-device.
- The public key is submitted to the server along with the invite token.
- The administrator explicitly approves the enrollment request.
- Only after approval can the device participate in communications.
How are compromised devices handled?
How are compromised devices handled?
- Immediate WebSocket disconnection — the revoked device is kicked from all active connections.
- Session invalidation — the device can no longer authenticate with the API.
- Ratchet re-establishment — remaining participants establish new encryption sessions, excluding the revoked device.
What RBAC model does AgentVault use?
What RBAC model does AgentVault use?
| Role | Permissions |
|---|---|
| Owner Admin | Full tenant control, device management, enrollment approval, billing |
| Tenant Admin | Device management, enrollment approval, room management |
| Member | Send/receive messages, view rooms |
| Agent | Send/receive messages within assigned conversations |
Tenant Isolation
How is tenant isolation enforced?
How is tenant isolation enforced?
- Every table (except the
tenantstable itself) includes atenant_idcolumn. - RLS policies are applied to all tables with the rule:
USING (tenant_id = current_setting('app.current_tenant_id')::uuid). - The backend middleware sets
app.current_tenant_idon every database session before any queries execute. - Even if application code contained a bug that omitted a
WHERE tenant_id = ...clause, the RLS policy would still prevent cross-tenant data access.
Can one tenant access another tenant's data?
Can one tenant access another tenant's data?
Infrastructure & Operations
Where is data stored?
Where is data stored?
| Component | Provider | Location |
|---|---|---|
| Application database | DigitalOcean Managed PostgreSQL 16 | US data center |
| Cache and pub/sub | DigitalOcean Managed Redis 7 | US data center |
| Backend API | DigitalOcean Droplet | US data center |
| Authentication | Clerk | Cloud-hosted |
| DNS and TLS | Cloudflare | Global edge network |
What logging does AgentVault perform?
What logging does AgentVault perform?
How are secrets managed?
How are secrets managed?
- Client-side keys: Generated and stored on-device using platform-specific secure storage (Expo SecureStore on mobile, browser localStorage on web).
- Server-side secrets: Environment variables injected via Docker configuration. Never committed to source control.
- Invite tokens: Stored as BLAKE2b hashes only. Raw tokens are never persisted.
- API keys: Managed through Clerk. JWTs are short-lived with automatic rotation.
Compliance & Standards
Does AgentVault meet SOC 2 or ISO 27001 requirements?
Does AgentVault meet SOC 2 or ISO 27001 requirements?
Does AgentVault support DID-based identity?
Does AgentVault support DID-based identity?
did:hub DID method with Ed25519 keypairs and JCS
(JSON Canonicalization Scheme) signatures. DID documents support:- Ownership verification and transfer
- Trust tier classification (Unverified, Verified, Certified, Enterprise)
- Behavioral trust scoring across four dimensions
- On-chain Merkle anchoring (Base L2, activation pending)
What security testing has been performed?
What security testing has been performed?
- 750+ backend tests (API endpoints, RLS policies, WebSocket handlers)
- 116 crypto tests (Double Ratchet, X3DH, XChaCha20-Poly1305, key management)
- 35 verification SDK tests
- 21 client library tests
- 145+ plugin tests
How can I perform my own security assessment?
How can I perform my own security assessment?
packages/crypto/) is open source and available for
independent review. We welcome and encourage:- Code review of the cryptographic implementation
- Architecture review using the published threat model and security documentation
- Penetration testing of API endpoints and WebSocket connections (with prior coordination)
- RLS policy audit of the database schema