Security and Privacy
SELF combines client-side encryption, user-held keys, passkey authentication and EU-hosted infrastructure. This page explains which content is protected, which operational data services need to handle, and where external services are involved.
Keys and authentication
SELF creates a 12-word BIP39 recovery phrase during registration. On your device, that phrase produces a master seed used to derive the encryption and signing keys for SELF Vault, Messenger and browser validation.
Passkeys use WebAuthn to authenticate you to your SELF account. They are domain-bound and phishing-resistant. Passkeys do not derive encryption keys. Email with a one-time code provides a secondary sign-in path with per-account and per-address rate limits.
Your keys are not transmitted to SELF. Keep your recovery phrase in a safe place because it is the foundation for access to your encrypted content. An optional recovery-password feature can store a client-side wrapped copy of the phrase. SELF does not receive that password.
Protected encrypted content
The following content is encrypted on your device before storage or delivery:
- AI conversation history and memory entries
- Messenger message content and attachments in direct and group conversations
- Vault file contents, file metadata and folder names
- Calendar event content
- Mail sent between SELF accounts
- Browser-validator private keys
SELF stores this content as ciphertext without the user-held key required to decrypt it. Encryption uses AES-256-GCM through the browser WebCrypto API, with TLS protecting data in transit.
SELF AI inference runs on dedicated GPUs operated for SELF. Ordinary AI prompts and responses are not sent to third-party AI model APIs.
Operational data visible to services
Some information remains available to SELF services so the product can operate:
| Data | Why it is handled |
|---|---|
| Account email address | Contact, sign-in and account recovery. It is encrypted at rest with a server-held key that SELF can decrypt |
| Messenger routing data | Sender and room identifiers and timing used to deliver messages |
| Calendar reminder data | Trigger times and event types used to send reminders while event content stays encrypted |
| Mail envelope data | Timestamp, size and folder used to operate the mailbox |
| Wallet addresses | Public information required for blockchain activity |
Sender metadata encryption is a future enhancement. Current messaging services use the routing fields listed above.
External service boundaries
Mail outside SELF
Mail between SELF accounts is encrypted with recipient-held keys. Standard internet mail crossing between SELF and another mail provider follows the email network boundary:
- Inbound external mail arrives in readable form, then SELF encrypts it to the recipient's key.
- Outbound external mail leaves SELF in readable form and is protected in transit with TLS when the receiving provider supports it.
SELF also uses an external transactional email provider for service messages such as sign-in and account communications.
Optional web search and URL reading
Connect members can explicitly ask SELF AI to search the web or read a URL. The search text or requested URL is sent to a third-party data provider for that request. SELF account identifiers are not included. Ordinary AI conversations stay on SELF-operated inference and do not use this provider.
Public application delivery
Cloudflare serves the public PWA bundle and DNS from its global edge. The static bundle contains no account content. Application data, databases, mail, call infrastructure, AI inference and object storage run in the European Union.
Current security controls
| Control | Current implementation |
|---|---|
| Content encryption | AES-256-GCM client-side encryption through WebCrypto |
| Authentication | WebAuthn passkeys with rate-limited email one-time codes as a secondary path |
| Transport | TLS across service connections |
| Content security policy | Enforced at the application edge |
| Production logging | Debug output removed from production builds and error logging sanitised of identifiers and tokens |
| Administrative access | Restricted through a private administrative network |
| Secrets | Stored on servers and excluded from source control |
| Network security | Deny-by-default firewalling with explicit source allowlists |
| Monitoring | Self-hosted metrics, logs and alerting with independent external uptime checks |
| Patching | Security-update alerting and unattended security updates, with controlled restarts for high-availability services |
| Backups | Encrypted cross-border backups with documented restore drills |
Production application, database, messaging, mail and call services run on dedicated hardware in Germany. AI inference and object storage run in France.
Device and recovery boundaries
Encryption protects stored and transmitted content within the boundaries above. An unlocked device can access keys while you use the app, so device and browser security remain important.
If the recovery phrase is lost and no configured recovery path remains available, SELF cannot reconstruct the keys or recover encrypted content. Additional trusted devices and the optional recovery-password feature provide recovery choices.
Independent verification and compliance position
The SELF token smart contract has been audited by CertiK and is listed on CertiK Skynet. That review covers the smart contract. It is separate from application penetration testing.
SELF's current assurance comes from EU data residency for application data, dedicated infrastructure, client-side encryption, self-hosted AI inference and the controls listed on this page. Security certification, formal compliance documentation and independent application testing form part of the platform's continuing assurance programme.
Reporting a security issue
Security researchers can report a vulnerability to security@self.app with enough detail for the team to reproduce and assess it.
| Severity | Reward |
|---|---|
| Low | 25,000 SELF |
| Medium | 50,000 SELF |
| High | 100,000 SELF |
Use Settings → Bugs for product issues and Settings → Contact Us for support, partnerships, jobs or privacy enquiries. Replies appear in Alerts.
Last updated: August 9, 2026

