Security

Don't trust us.
Trust the math.

NIST-approved algorithms. Zero-knowledge architecture. Open-source cryptography. Every claim on this page is verifiable in the source code.

Cryptographic Foundations

Four primitives. Zero proprietary crypto.

Every algorithm is NIST-approved, industry-standard, and implemented via audited libraries. We assembled proven building blocks — we didn't invent our own.

AES-256-GCM
Encryption at Rest
Authenticated encryption providing both confidentiality and integrity. Every credential is encrypted with a unique random IV before it touches disk.
Key size 256-bit
IV Random per op
Library Web Crypto API
Standard NIST SP 800-38D
Argon2id
Key Derivation
Password-Hashing Competition winner. Memory-hard, GPU-resistant. Turns your master password into a 256-bit encryption key that cannot be brute-forced.
Variant Argon2id (hybrid)
Resistance GPU + side-channel
Library hash-wasm
Standard RFC 9106
X25519
Key Exchange
Elliptic-curve Diffie-Hellman for credential sharing. Two parties derive a shared secret without either transmitting a private key over the wire.
Curve Curve25519
Key size 256-bit
Library tweetnacl (audited)
Standard RFC 7748
Zero Knowledge
Architecture Guarantee
Your vault is encrypted before it leaves your machine. We never receive, transmit, or process plaintext credentials. We cannot decrypt your vault.
Server sees Ciphertext only
Master password Never transmitted
Decryption Client-side only
Recovery Impossible by design
Proxy Architecture

Agents use credentials.
They never see them.

The credential proxy intercepts outbound API calls, injects authentication at runtime, filters sensitive data from responses, and logs every operation. The agent receives results — never raw secrets.

Step 1 — Request

Agent requests API access

The agent calls the Davy.Locker proxy with the service name and intended action. It does not include any credential material — it doesn't have any.

proxy.request("stripe", "list_invoices")
Step 2 — Authorization

Grant & risk tier checked

Does this agent have a valid grant for this credential? What risk tier? Session-based grants auto-expire. High and critical tiers require explicit human approval before proceeding.

grant: session risk: medium scope: read-only
Step 3 — Vault Retrieval

Credential decrypted in memory

The encrypted credential is retrieved from the vault, decrypted using the derived key, and held in memory only for the duration of the request. Never written to disk in plaintext. Never returned to the agent.

AES-256-GCM decrypt USE_ONLY mode
Step 4 — Injection

Auth headers injected at request time

The proxy constructs the outbound HTTP request to the target API and injects the authentication header directly. The credential travels from vault to API call without the agent touching it.

Authorization: Bearer sk_***
Step 5 — Response Lens

Sensitive fields redacted before return

The raw API response passes through a lens — a per-service filter that strips sensitive fields (bank accounts, tax IDs, PII) before the agent sees anything. The agent gets the data it needs. Nothing it doesn't.

lens: "business-view" redacted: bank_account, ssn
Step 6 — Audit

Full operation logged

Every credential access, API call, response status, and redaction action is recorded in an immutable, timestamped audit entry. Who, what, when, result — always.

agent: research-bot credential: stripe-prod action: list_invoices status: 200
Access Control

Four risk tiers. Granular approval.

Every credential is assigned a risk tier. The tier determines whether access is automatic, one-tap, or requires explicit human approval every time.

Low

Auto-approve

Read-only API keys, public service tokens, non-sensitive data. Agents access freely within their grant scope.

grant.approve(auto)
Medium

One-tap approval

Write-capable keys, service accounts with mutation rights. Quick confirmation via push notification or dashboard.

grant.approve(tap)
High

Always prompt

Payment processor keys, database credentials, admin tokens. Human must review and confirm each access request.

grant.approve(prompt)
Critical

Explicit approval every time

Root credentials, infrastructure keys, deletion-capable tokens. Requires full context review and deliberate confirmation for every single use.

grant.approve(explicit)

Session Grants

Access expires when the agent session ends. Ideal for one-off tasks. No cleanup required — revocation is automatic.

Timed Grants

Access expires after a fixed duration (1 hour, 24 hours, 7 days). Suitable for scheduled jobs and recurring tasks with natural boundaries.

Persistent Grants

Long-lived access for trusted agents. Still scoped by permission level and monitored continuously. Can be revoked instantly.

Audit Trail

Every access.
Full context.

Every credential access is logged with an immutable, timestamped entry capturing the full context: which agent, which credential, what action, what result. No blind spots.

Immutable entries — append-only log, no retroactive edits

Full request metadata — agent ID, credential ID, service, action, timestamp, status code

Local storage (Free) — audit log stored on your machine, no external dependency

Encrypted cloud sync (Pro) — centralized dashboard with cross-server search

audit.log
03:44:12.091 GRANT_CHECK agent=research-bot cred=stripe-prod scope=read tier=medium APPROVED 03:44:12.134 VAULT_DECRYPT cred=stripe-prod algo=AES-256-GCM iv=a7f2...c91b duration=2ms 03:44:12.138 PROXY_INJECT target=api.stripe.com/v1/invoices method=GET header=Authorization 03:44:12.412 API_RESPONSE status=200 size=4.2KB 03:44:12.415 LENS_REDACT lens=business-view fields=2 redacted=[bank_account, tax_id] 03:44:12.418 COMPLETE agent=research-bot result=success raw_exposed=false duration=327ms
The Kraken — Pro

AI-powered anomaly detection

A monitoring layer that watches audit logs in real-time, learns what normal looks like, and responds to threats faster than a human can. Not a guarantee — a second set of eyes that never blinks.

Anomaly Detection

Establishes behavioral baselines per agent. 847 API calls in 12 minutes when the norm is 30 per hour? Flagged instantly. Pattern deviations trigger alerts before damage spreads.

Auto-Rotation

When a credential is flagged as compromised, The Kraken rotates it via the provider's API. All clean agents receive the new key automatically. The compromised grant is revoked.

Grant Hygiene

Continuously scans for stale permissions. Agent hasn't used a grant in 90 days? Flagged for revocation. Unused access is the most dangerous kind — The Kraken keeps the list tight.

Incident Response

Alert routing via Slack, email, or webhook. Full incident reports with timeline, affected credentials, and remediation steps. You review over coffee — the bank is already secure.

Honest Disclosure

The Kraken is a monitoring layer, not a silver bullet. It detects anomalies against learned baselines and can auto-rotate credentials via provider APIs that support it. It reduces response time from hours to seconds. But no system catches everything. Defense in depth — multiple layers, each compensating for the others — is the only real strategy.

Provider Support

Auto-rotation requires the service provider to expose a rotation API. Currently supported or planned:

Stripe AWS IAM GitHub OpenAI Supabase Twilio + more
Our Commitments

What we don't do

Security claims are cheap. Architectural guarantees are not. These aren't policies — they're structural impossibilities built into the design.

We never see your plaintext

Credentials are encrypted client-side before any storage or sync. Our servers receive ciphertext only. We cannot decrypt it, by design.

We never have your master password

Your master password never leaves your device. It is used locally for Argon2id key derivation. We don't store it, hash it, or transmit it. If you lose it, your vault is gone.

We never sell data

No analytics on credential content. No metadata monetization. No third-party data sharing. The free tier is funded by the paid tier, not by your information.

We cannot decrypt your vault

Zero-knowledge means zero capability. There is no master key, no recovery backdoor, no "law enforcement access." If you lose your master password, we cannot help you. That's the point.

Open Source

Inspect the locks yourself

The core SDK is open source. Every encryption operation, every key derivation, every proxy decision is in the code. No obfuscation. No proprietary cryptography. No "trust us" — trust the math.

@davy/crypto — AES-256-GCM encryption, Argon2id key derivation, X25519 key exchange, secure random generation

@davy/vault — Encrypted credential storage, folder organization, search, password generator

@davy/agent-auth — Permission model, credential injection proxy, grants, sessions, audit log, policies

No proprietary encryption — Every algorithm is NIST-approved, implemented via well-known, audited libraries

terminal
# Install the SDK $ npm install @davy/agent-auth @davy/vault @davy/crypto # Or inspect the source $ git clone https://github.com/davylocker/davy-locker $ cd davy-locker/packages/crypto $ cat src/aes.ts # Read the encryption $ cat src/argon.ts # Read the key derivation $ cat src/x25519.ts # Read the key exchange # Run the test suite $ pnpm test 59 tests passing

Why open source matters for security. Closed-source security is an oxymoron. You're trusting a claim instead of verifying a fact. Our cryptographic layer is fully auditable. Read it, fork it, run the tests. If you find a vulnerability, open an issue.

Summary

The complete security model

Layer Mechanism Standard
Encryption at rest AES-256-GCM + random IV NIST SP 800-38D
Key derivation Argon2id (memory-hard) RFC 9106
Key exchange X25519 ECDH RFC 7748
Credential delivery USE_ONLY proxy injection Least-privilege
Response filtering Field-level lens redaction Data minimization
Access control 4-tier risk + scoped grants Zero trust
Audit Immutable append-only log Non-repudiation
Monitoring The Kraken (AI anomaly detection) Defense in depth
Verify Everything

Read the source. Run the tests.
Decide for yourself.

Every cryptographic claim on this page corresponds to code you can read, tests you can run, and algorithms you can verify against their published standards.

View on GitHub Read the Whitepaper