Security
A transparent overview of the technical measures we use to protect your data and the anonymity of our sources.
AES-256 Encrypted Submissions
All whistleblower submissions are encrypted before storage. No plaintext submission content is ever written to disk.
Whistleblower submission content is encrypted using AES-256-CBC with a randomly generated initialization vector (IV) for each submission. The IV is stored alongside the ciphertext; the key is derived server-side and never exposed.
Encryption keys are derived from a server-side secret using SHA-256. The secret is stored as an environment variable and never committed to source code or logs. Key rotation can be performed without data loss.
Submission content is encrypted in memory before any database write operation. The database stores only ciphertext. Even direct database access cannot reveal submission content without the server-side key.
Submissions are stored with only a random tracking ID, category, status, and encrypted content. No IP address, user ID, session token, or any other identifying field is stored alongside a submission.
All traffic between your browser and our servers is encrypted in transit using TLS 1.2 or higher. We enforce HTTPS on all pages. Cookies are marked Secure and are only transmitted over encrypted connections.
Have a security concern or vulnerability to report? Contact our team through the secure submission portal.
Secure Submission Portal