Recognize
Identify common providers from the key format, locally.
API key first aid
KeyGuard notices when a website creates an API key, stops the copy-paste panic, and guides you toward a safer next move.
Create a secret key for a new application.
This key will be shown once. Store it somewhere secure.
Copy it now. You will not be able to view it again.
Do not share this key or expose it in browser code.
TRY IT Select “Create secret key” and watch KeyGuard intervene.
The missed moment
Identify common providers from the key format, locally.
Translate account and billing risk into language anyone can act on.
Offer practical actions instead of another warning to dismiss.
Cloudflare architecture
Encryption stays in the browser. Cloudflare delivers the experience and, in the full product, would coordinate one-time access without receiving a plaintext API key.
The edge entry point serves the app and applies strict security and privacy headers.
The browser experience is bundled with Vite and connected through the Worker’s asset binding.
Generates Worker types, validates configuration, and uploads the Worker and Vite-built assets during deployment.
Would expose create, claim, and expiration endpoints designed to accept only payloads encrypted by the browser.
Would route each share ID to one strongly consistent coordinator that atomically permits only its first valid claim.
Would hold expiring, non-authoritative share metadata for global lookup. Its eventual consistency makes it unsuitable for deciding whether a link is unused.
Would store client-encrypted exports or larger ciphertext objects with lifecycle deletion. The application would keep passwords and plaintext in the browser.
Would use identity policies and service tokens to protect internal operations, support tools, and administrative endpoints.
Would require server-side Siteverify validation and rate-limit create and reveal endpoints to reduce automated abuse.
Would bind KeyGuard’s operational credentials, such as the Turnstile Siteverify secret, to the Worker. It would never store captured user keys.
Would use sanitized custom logs and metrics. Sensitive values stay out of URLs and console output, with invocation logs disabled where needed.