Security Overview
Our Approach to Security
Pentos is built with security and privacy at its core. Sensitive data is encrypted at rest using AES-256-GCM, and we follow strict policies to ensure your information stays yours.
How Encryption Works
Pentos uses a three-level key hierarchy based on HKDF (HMAC-based Key Derivation Function, RFC 5869) to derive a unique encryption key for every resource:
- Root Key: Stored in Pentos Vault behind service-role-only access. Never exposed to clients.
- Domain Key: Derived from the root key. One per domain (Chats, Files, Collab, etc.). Held in memory only.
- Resource Key: Derived from the domain key using the resource’s unique ID. This is the key that actually encrypts and decrypts your data.
Derived keys are computed at runtime and never written to disk. Each resource (chat, conversation, folder, etc.) gets its own mathematically unique key. Compromising one resource key does not expose any other resource or the root key.
What Gets Encrypted
| Domain | Encrypted Fields |
|---|---|
| Chats | Titles, messages, tags, reasoning content, edited messages |
| Conversations (DMs & Groups) | Group names, messages, message previews, edited messages |
| Channels | Names, descriptions, messages, message previews, edited messages |
| Files | Folder names, folder descriptions, file names, file descriptions, original file names |
| User Preferences | Occupation, interests, additional info, default location |
What Is Not Encrypted
Public files and folders, system folder names (Home, Chats, Channels, etc.), user status messages, and notification metadata are stored in plaintext. These are either intentionally public or not sensitive.
Sharing Without Re-encryption
Keys are resource-owned, not user-owned. When you share a chat, conversation, or folder, the recipient derives the same key from the resource ID. No data needs to be decrypted and re-encrypted. Access control and encryption are separate layers, granting or revoking access is instant and doesn’t touch encrypted data.
Encryption in Transit
When data moves between your device and our servers, it is encrypted over HTTPS/TLS. Your data is protected whether it is in storage or traveling across the network.
Protecting Your Account
- No passwords: you sign in with Google or a one-time email link or code, so there is no Pentos password to steal or reuse. See Signing In.
- Multi-factor authentication: add an authenticator app and Pentos requires its code at sign-in, checked on our servers before any of your data is sent. See Multi-Factor Authentication.
- Limited sessions: a sign-in lasts up to 24 hours, and Auto-Logout ends idle sessions sooner.
- Bot protection: Cloudflare Turnstile guards email sign-in against automated attempts.
Data Usage Policy
Your data is never used to train AI models. Pentos does not share your files, messages, or any personal information with third parties for training or advertising purposes. Your content belongs to you. For what each AI provider keeps of your requests, and for how long, see Data Retention.
Compliance
We are actively working toward SOC 2 Type II and GDPR compliance. Our encryption infrastructure, including AES-256-GCM encryption, HKDF key derivation, audit logging, and cryptographic data deletion, is designed to meet these standards. Updates on certification progress will be shared through our changelog and documentation.
What’s Next
We are continuously investing in security. Upcoming improvements include:
- SOC 2 Type II certification: in progress
- GDPR compliance: in progress
- SSO and SAML: planned
Security updates will be communicated through our changelog and documentation.
Reporting a Vulnerability
If you believe you have found a security issue in Pentos, please review our Vulnerability Disclosure Policy and report it to security@pentos.ai. A machine-readable RFC 9116 summary is available at /security.txt.