Security

Privacy by design. Encryption by default.

What we protect against

  • Server compromise — Message content cannot be decrypted from server storage; the server does not possess the key.
  • DB dump — Stored data is encrypted or non-sensitive by design; a database dump does not expose plaintext messages.
  • Rogue operator — Operators cannot decrypt room content without the key.

Limitations

The server may see operational metadata (e.g. request patterns, opaque identifiers). We do not protect against:

  • Endpoint compromise — If a participant's device or browser is compromised, an attacker may read content there.
  • Screenshots or copying — Participants can capture or share what they see.
  • Malicious participants — Anyone with access to the room can forward or leak content.

Verified security claims

We publish machine-verifiable evidence for every security claim we make.

  • A public claims registry — every security claim we make is a row in the claims matrix, marked PROVEN, PARTIAL, or an explicit non-claim, with the evidence that backs it. We never round PARTIAL up into "proven."
  • TLA+ state-machine invariants (protocol-level): model-checked properties for join, governance, fork-choice, no double-spend, no cross-room redeem. This is not a cryptographic proof of primitives — we rely on XChaCha20-Poly1305, Ed25519, SPAKE2, and HKDF as designed.
  • Automated test suites across the Python and Rust implementations, run in CI on every change
  • Cross-implementation parity vectors verifying cryptographic consistency between the Python reference and the Rust CLI
  • Adversarial test harness with concurrent double-spend, replay, rate-limit bypass, and fuzz testing

The evidence pipeline and its verification steps are documented in our public security repository; publication of the full source mirror is in progress.

No independent audit yet

Atopos has not undergone a third-party security audit. The claims above are backed by our own machine-verifiable evidence — static analysis, schema scans, KATs, parity vectors, and model checking — published for inspection today, and reproducible end-to-end once the source mirror publishes. That is the honest interim posture until an independent audit happens. An external audit remains on our roadmap; our coordinated-disclosure channel is open in the meantime.

What Atopos is

Atopos is an ephemeral, encrypted communication product. Rooms are designed so that message content is encrypted end-to-end. The server does not possess the decryption key: keys stay client-side, and the URL fragment is used so that the key is never sent to the server.

Review workflow

We publish documentation so you can assess our design and claims. Suggested flow:

  1. Read the threat model to understand in-scope and out-of-scope threats.
  2. Inspect the security evidence (summary and reviewer pack).
  3. File issues or questions via the repository or our disclosure policy.

Documentation

Canonical security documentation is maintained in our public GitHub repository.

Evidence-backed claims

We run automated checks and publish sanitized summaries in the GitHub repository. See the latest run and artifacts.

Report a vulnerability

If you believe you've found a security issue, please follow our disclosure policy for contact instructions.

Publish-safe only. Only publish-safe artifacts are posted here. No hostnames, IPs, relay endpoints, or raw logs.