Sign in

Zero Knowledge Encryption

Mathematical guarantee that your vulnerability reports remain confidential. Even we can't read them.

Zero Knowledge = Zero Access
Private keys never leave your environment

What is Zero Knowledge Encryption?

Zero knowledge encryption means that the service provider (us) has mathematically provable zero knowledge about the contents of your data. In the context of vulnerability reports, this means:

  • Your private keys are generated and stored exclusively in your environment
  • All encryption happens client-side before data transmission
  • The platform only stores encrypted ciphertext
  • Decryption is impossible without your private key
  • Even with a subpoena, we cannot decrypt your data

This architecture provides the highest level of confidentiality for sensitive security research and vulnerability disclosure.

Technical Implementation

Key Generation

  • • RSA-2048 key pair generation
  • • Client-side using Web Crypto API
  • • Private key never transmitted
  • • Public key published for encryption
  • • Perfect forward secrecy

Hybrid Encryption

  • • AES-GCM for bulk data encryption
  • • RSA for AES key encryption
  • • Random IV for each encryption
  • • Authenticated encryption (AEAD)
  • • Tamper-evident ciphertext

Encryption Process Breakdown

Step 1: Client-Side Preparation

// Generate random AES key
const aesKey = crypto.getRandomValues(new Uint8Array(32));
 
// Encrypt report with AES-GCM
const encryptedReport = await crypto.subtle.encrypt(
  {name: "AES-GCM", iv: randomIV}, aesKey, reportData
);

The vulnerability report is encrypted using AES-GCM with a randomly generated key. This provides fast encryption for large data while maintaining authenticity.

Step 2: Key Encryption

// Encrypt AES key with organization's RSA public key
const encryptedKey = await crypto.subtle.encrypt(
  "RSA-OAEP", organizationPublicKey, aesKey
);
 
// Create final payload
const payload = {"{{"}
  encryptedKey: base64encode(encryptedKey),
  encryptedData: base64encode(encryptedReport),
  iv: base64encode(randomIV)
{"}}"};

The AES key is encrypted using the organization's RSA public key. Only the organization's private key can decrypt this, ensuring end-to-end encryption.

Step 3: Secure Transmission

The encrypted payload is transmitted over HTTPS to our servers. The payload contains:

  • Encrypted AES key (only decryptable by organization)
  • Encrypted vulnerability data (AES-encrypted)
  • Initialization vector for AES decryption
  • Metadata (timestamp, reporter info if provided)

Step 4: Zero Knowledge Storage

Our servers store only the encrypted ciphertext. We have zero knowledge because:

  • We don't have the organization's private key
  • We cannot decrypt the AES key
  • We cannot decrypt the vulnerability data
  • All stored data is cryptographically protected

Security Guarantees

What We Guarantee

Cryptographic Impossibility

It is mathematically impossible for us to decrypt your data without your private key.

Forward Secrecy

Each report uses unique encryption keys, preventing retroactive decryption.

Tamper Evidence

Authenticated encryption ensures any tampering is detectable.

Legal Protection

Even under legal compulsion, we cannot provide plaintext data.

Compliance Benefits

GDPR Article 25

Data protection by design and by default. Zero-knowledge architecture minimizes personal data processing.

ISO 27001

Cryptographic controls for confidentiality and integrity of sensitive information.

SOC 2 Type II

Strong encryption controls for customer data protection and confidentiality.

Performance & Scalability

<100ms
Encryption Time
Client-side encryption of typical vulnerability reports
Unlimited
Report Size
Hybrid encryption scales to any report size
99.99%
Reliability
Proven cryptographic implementations

Experience Zero Knowledge Security

See how zero-knowledge encryption protects your vulnerability disclosure program.