Skip to main content

Security Architecture

Overview

ID Wispera is built on four security principles:
  • Local-first — Credentials never leave your machine unless explicitly shared.
  • Zero-knowledge — Sharing uses client-side encryption; the server never sees plaintext.
  • Audit everything — Complete visibility into credential usage.
  • Policy enforcement — Declarative rules prevent unauthorized access.

Encryption

Vault Encryption

ParameterValue
AlgorithmAES-256-GCM
Key DerivationPBKDF2 with SHA-256 (100,000 iterations)
Salt32 bytes, randomly generated per vault
IV12 bytes, randomly generated per encryption operation

Key Derivation

Master Passphrase
  → PBKDF2(passphrase, salt, 100000, SHA-256)
  → 256-bit key

At-Rest Encryption

The vault file contains:
ComponentEncrypted
Version numberNo
SaltNo
IVNo
Passport dataYes
Audit logYes
Metadata (creation time, passport count)No
Only passport data and the audit log are encrypted. Metadata such as version, salt, IV, creation time, and passport count are stored in plaintext to support vault unlocking and basic introspection without the passphrase.

In-Transit Encryption (Sharing)

Share links use:
  • A fresh AES-256-GCM key generated per share
  • The key is sent separately from the encrypted payload
  • Optional time-based and view-count limits

Threat Model

What We Protect Against

  1. Credential Theft — Encrypted at rest, memory cleared after lock, no plaintext in logs.
  2. Unauthorized Access — Passphrase required, policy enforcement, audit trail.
  3. Credential Misuse — Scope limitations, expiration enforcement, revocation capability.
  4. Audit Trail Tampering — Append-only log, encrypted with vault.
  5. Accidental Exposure — Credential detection, masked display, .gitignore templates.

What We Don’t Protect Against

ID Wispera cannot protect against the following scenarios. Mitigate these risks through operational security practices.
  1. Compromised Master Passphrase — If an attacker obtains your passphrase, they can decrypt the vault.
  2. Compromised Machine — A fully compromised machine gives an attacker access to everything the user can access.
  3. Memory Attacks — Sophisticated memory-forensics attacks may recover decrypted data from RAM.
  4. Social Engineering — ID Wispera cannot prevent a user from being tricked into sharing credentials.

Security Best Practices

Passphrase Security

  • Minimum 12 characters recommended
  • Mix of character types (uppercase, lowercase, digits, symbols)
  • Unique to ID Wispera — do not reuse passwords
  • Store in a password manager
  • Never commit to version control

Vault Security

  • Store on an encrypted filesystem
  • Maintain regular backups (the backup is already encrypted)
  • Limit file permissions:
chmod 600 vault.json
  • Do not share the vault file directly — use the secure sharing workflow instead

Credential Hygiene

  • Set expiration dates on all passports
  • Rotate credentials regularly
  • Revoke unused credentials promptly
  • Use the minimum required scope
  • Tag credentials for organization
Use idw list --expired regularly to find and clean up stale credentials before they become a security risk.

Operational Security

  • Review audit logs regularly
  • Monitor for suspicious activity
  • Keep ID Wispera updated to the latest version
  • Use the MCP server for agent access instead of exposing credentials directly

Security Features

Credential Detection

ID Wispera includes built-in detection for 30+ credential patterns (API keys, tokens, connection strings, and more) to prevent accidental exposure.

Policy Enforcement

The policy engine supports:
  • Human owner requirements
  • Maximum validity periods
  • Delegation depth limits
  • Visa type restrictions

Secure Sharing

  • Zero-knowledge, client-side encryption
  • Time-limited and view-limited share links
  • No plaintext credentials on the server

Reporting Security Issues

If you discover a security vulnerability, please email [email protected] with:
  • A description of the vulnerability
  • Steps to reproduce
  • Potential impact assessment
Please do not open public issues for security vulnerabilities. We will acknowledge your report within 48 hours.

Next steps