Onera Docs
E2EE Architecture

Threat Model

Adversary capabilities, security goals, and trust boundaries

Threat Model

Adversary Capabilities

We consider adversaries with the following capabilities:

Adversary TypeCapabilities
Passive NetworkIntercept all network traffic
Compromised ServerFull read/write access to database and server code
Compromised Auth ProviderAccess to Clerk authentication sessions
Device MalwareRead browser storage, inject JavaScript (XSS)
Insider ThreatServer administrator with database access

Security Goals

GoalDescription
ConfidentialityOnly authorized users can read plaintext data
IntegrityTampering with encrypted data is detectable
Forward SecrecyPast sessions remain secure if keys are compromised
RecoveryUsers can regain access without central authority

Trust Boundaries

Attack Scenarios and Mitigations

Attack ScenarioMitigation
Server database breachData encrypted; master key not stored on server
XSS attack on browserSession keys are non-extractable via Web Crypto API
Password brute forceArgon2id with 256MB memory requirement
Man-in-the-middleTLS 1.3 + certificate pinning
Device theftSession timeout + device-bound keys
Insider server accessZero-knowledge architecture; server cannot decrypt

Out of Scope

The following attack vectors are considered out of scope for this security model:

  • Physical attacks on user devices with unlocked sessions
  • Compromise of the user's password/recovery phrase
  • Side-channel attacks on cryptographic implementations
  • Attacks requiring compromise of all three sharding systems simultaneously

On this page