Skip to content

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:

DataWhy it is handled
Account email addressContact, sign-in and account recovery. It is encrypted at rest with a server-held key that SELF can decrypt
Messenger routing dataSender and room identifiers and timing used to deliver messages
Calendar reminder dataTrigger times and event types used to send reminders while event content stays encrypted
Mail envelope dataTimestamp, size and folder used to operate the mailbox
Wallet addressesPublic 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

ControlCurrent implementation
Content encryptionAES-256-GCM client-side encryption through WebCrypto
AuthenticationWebAuthn passkeys with rate-limited email one-time codes as a secondary path
TransportTLS across service connections
Content security policyEnforced at the application edge
Production loggingDebug output removed from production builds and error logging sanitised of identifiers and tokens
Administrative accessRestricted through a private administrative network
SecretsStored on servers and excluded from source control
Network securityDeny-by-default firewalling with explicit source allowlists
MonitoringSelf-hosted metrics, logs and alerting with independent external uptime checks
PatchingSecurity-update alerting and unattended security updates, with controlled restarts for high-availability services
BackupsEncrypted 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.

SeverityReward
Low25,000 SELF
Medium50,000 SELF
High100,000 SELF

Use Settings → Bugs for product issues and Settings → Contact Us for support, partnerships, jobs or privacy enquiries. Replies appear in Alerts.

View Bug Bounty details →

Last updated: August 9, 2026