// security

Security at expacti

Security is not a feature we added — it's the reason expacti exists. Here's how we think about it and what we do to keep your data and commands safe.

🔒 TLS everywhere
🔑 End-to-end encryption (E2EE) option
📋 Immutable audit log
🏢 SOC 2 aligned

Threat model

1. Compromised proxy server

If the expacti proxy is compromised, commands could execute without approval. Mitigations: the approval queue is stateless in memory (not persisted in a way an attacker can modify without detection), the whitelist is stored in a separate DB, and the audit log is append-only with hash chaining.

2. Compromised reviewer account

A rogue reviewer could approve malicious commands. Mitigations: TOTP 2FA required for reviewer accounts, multi-party approval policies available (require N reviewers to approve), session recording with playback, and full audit trail showing who approved what.

3. Command replay attacks

An approved command ID cannot be replayed — each command has a unique UUID and TTL. Once approved or denied, the decision is final and re-submission creates a new command ID.

4. Man-in-the-middle on the reviewer connection

All connections use TLS (HTTPS/WSS). We use Cloudflare for TLS termination with Full Strict mode. For self-hosted deployments, we recommend mutual TLS.

End-to-end encryption

For environments where even the backend operator should not see command content, expacti supports E2EE mode:

Data handling

Authentication

Responsible disclosure

If you discover a security vulnerability, please report it to us privately before public disclosure.

Email: [email protected]

We aim to respond within 48 hours and will work with you on a coordinated disclosure timeline. We're grateful for responsible researchers who help make expacti safer.