Your Keys, Protected at Every Layer
claw.zip is built with security at its core. Your upstream API keys are encrypted at rest with AES-256-GCM, all tokens are SHA-256 hashed, and the proxy runs entirely on Cloudflare's edge network with TLS everywhere.
// security features
How we protect your data
Every layer of claw.zip is designed to keep your credentials safe and your data private.
Upstream Key Encryption
Your Anthropic API keys are encrypted with AES-256-GCM before storage. They are never stored in plaintext.
Upstream Key Encryption
Your Anthropic API keys are encrypted with AES-256-GCM before storage. They are never stored in plaintext.
AES-256-GCM encryption via the Web Crypto API on Cloudflare Workers. Each key gets a unique 12-byte initialization vector (IV). The encryption key is stored as a secret in Cloudflare Workers, never in code or configuration files. Keys are decrypted only at request time to proxy your call, then immediately discarded from memory.
Token Hashing
Session tokens, magic link tokens, and API key identifiers are stored as SHA-256 hashes. The original values are never persisted.
Token Hashing
Session tokens, magic link tokens, and API key identifiers are stored as SHA-256 hashes. The original values are never persisted.
All sensitive tokens are hashed using SHA-256 via crypto.subtle.digest() before storage in the D1 database. This means even if the database were compromised, tokens cannot be reversed. API key lookups are performed by hashing the incoming key and matching against stored hashes.
Passwordless Authentication
No passwords are ever stored. Authentication uses magic links with 15-minute expiry and single-use enforcement.
Passwordless Authentication
No passwords are ever stored. Authentication uses magic links with 15-minute expiry and single-use enforcement.
Magic link tokens are 32 random bytes (256 bits of entropy) generated via crypto.getRandomValues(). Each token is hashed before storage and marked as used upon consumption. Tokens expire after 15 minutes. Sessions use 32-byte tokens with 30-day expiry, stored as SHA-256 hashes. Rate limiting prevents brute force: max 3 magic links per email per 15 minutes.
Key Isolation
Each claw.zip API key maps to exactly one encrypted upstream key. Keys are never shared across users or requests.
Key Isolation
Each claw.zip API key maps to exactly one encrypted upstream key. Keys are never shared across users or requests.
When you create a claw.zip key (sk-clwz-*), your Anthropic key is immediately encrypted and stored alongside it. The claw.zip key itself is only shown once during creation and stored as a SHA-256 hash. At proxy time, the upstream key is decrypted in-memory, used for the single request, and never logged or cached.
Transport Security
All traffic is encrypted with TLS 1.2/1.3. The proxy runs on Cloudflare Workers with HTTPS enforced globally.
Transport Security
All traffic is encrypted with TLS 1.2/1.3. The proxy runs on Cloudflare Workers with HTTPS enforced globally.
Cloudflare Workers enforce TLS for all connections. HTTP requests are automatically upgraded to HTTPS. The proxy communicates with the Anthropic API over TLS. No internal services are exposed. All data in transit between your client, claw.zip, and the Anthropic API is fully encrypted.
CORS & Origin Control
Credentialed requests are restricted to known origins. The API enforces strict origin checking for browser-based access.
CORS & Origin Control
Credentialed requests are restricted to known origins. The API enforces strict origin checking for browser-based access.
CORS is configured to allow credentialed requests only from claw.zip and localhost. Non-credentialed requests (SDK/CLI usage) are allowed from any origin for backward compatibility. The Authorization header is added to allowed headers for session-based auth. Credentials mode is enabled for cookie-based authentication.
Rate Limiting
Authentication endpoints are rate-limited to prevent abuse. Magic link requests are capped at 3 per email per 15 minutes.
Rate Limiting
Authentication endpoints are rate-limited to prevent abuse. Magic link requests are capped at 3 per email per 15 minutes.
Rate limiting is enforced at the application layer using D1 database queries. Magic link creation is limited to 3 per user per 15-minute window. API key creation is limited to 5 active keys per user. These limits prevent enumeration attacks and resource exhaustion.
Security Headers
Custom compression headers expose only non-sensitive metadata. No internal state or credentials are ever leaked in responses.
Security Headers
Custom compression headers expose only non-sensitive metadata. No internal state or credentials are ever leaked in responses.
Response headers include only compression metrics: original token count, compressed token count, savings percentage, compression mode, and latency. No API keys, session tokens, user IDs, or internal identifiers are ever included in responses. Error messages are generic and do not leak implementation details.
// how proxy auth works
Request Authentication Flow
Every proxied request goes through a multi-step authentication process before reaching the Anthropic API.
Key Recognition
The proxy inspects the x-api-key header. If it starts with sk-clwz-, it's a claw.zip managed key. Otherwise, it's treated as a raw Anthropic key and passed through unchanged for backward compatibility.
Key Resolution
For claw.zip keys: the key is SHA-256 hashed and looked up in the database. The associated upstream Anthropic key is decrypted from AES-256-GCM in memory. The decrypted key exists only for the duration of the request.
Secure Forward
The request is forwarded to the Anthropic API with the decrypted upstream key. The response is streamed back to the client. The decrypted key is never logged, cached, or persisted beyond the request lifecycle.
// privacy & data
Privacy & Data Handling
Your data belongs to you. We collect the minimum necessary to operate the proxy.
Minimal Collection
We store your email, hashed tokens, and encrypted upstream keys. Request content is never stored β it passes through the proxy and is discarded immediately.
No AI Training
Your prompts and responses are never used for training. We do not log, store, or analyze the content of your API calls. Compression happens in-memory and is discarded after the response.
Delete Anytime
Deactivate your API keys instantly from the dashboard. Delete your account and all associated data at any time. Key deactivation takes effect immediately.
// compliance
Compliance & Trust
GDPR Compliant
Privacy by design. Minimal data collection, data portability, and right to deletion. Your data is processed on Cloudflare's global edge network.
Zero-Retention Proxy
Request and response bodies are never persisted. Only aggregate metrics (token counts, savings) are stored β never the content of your API calls.
SOC 2 Type II In Progress
We are working toward SOC 2 Type II certification. Infrastructure runs on Cloudflare Workers with enterprise-grade security controls.
// open-source security
Open-Source Security Tooling
We use industry-standard open-source tools to continuously audit our codebase and dependencies.
Dependency Scanning
Automated scanning of all npm packages for known vulnerabilities using npm audit and Snyk.
Dependency Scanning
Automated scanning of all npm packages for known vulnerabilities using npm audit and Snyk.
Every dependency update triggers an automated audit. We use npm audit for CVE detection and Snyk for deeper analysis of transitive dependencies. Critical vulnerabilities are patched within 24 hours, high-severity within 72 hours.
Static Analysis (SAST)
ESLint security plugins and CodeQL analyze every pull request for common vulnerability patterns.
Static Analysis (SAST)
ESLint security plugins and CodeQL analyze every pull request for common vulnerability patterns.
We run eslint-plugin-security and CodeQL on every PR. These tools detect SQL injection patterns, prototype pollution, unsafe regex, path traversal, and other OWASP Top 10 issues before code reaches production.
Secret Detection
Pre-commit hooks and CI checks prevent API keys, tokens, and credentials from being committed to the repository.
Secret Detection
Pre-commit hooks and CI checks prevent API keys, tokens, and credentials from being committed to the repository.
We use gitleaks as a pre-commit hook and in CI to scan every commit for secrets. Patterns cover AWS keys, Anthropic tokens, generic passwords, and private keys. Any match blocks the commit and alerts the team.
Found a Vulnerability?
We appreciate responsible disclosure. If you discover a security issue, please report it privately so we can address it before public disclosure.
Email us at: security@claw.zipWe aim to acknowledge reports within 48 hours and will credit researchers who help improve our security.