Skip to main content

Your keys live in Google’s vault.

Your API keys are stored in Google Cloud Secret Manager, the same infrastructure Google uses to protect secrets across its own services. Clevername’s database never holds your plaintext key. This page explains how keys, traffic, and stored content are handled, in the detail a security review needs.

Last updated July 28, 2026. Responsible disclosure: support@clevername.net.

Key facts

What a security review asks about first, caveats included.

Google Cloud Secret Manager

Key storage

Your API keys live in Google's infrastructure, not ours. (Production only. Local dev uses AES-256-GCM.)

AES-256-GCM + CMEK

Encryption at rest

Secrets are wrapped with a Cloud KMS (CMEK) key. On the default multi-tenant deployment that is a single shared, Clevername-managed key, not a key you own. Disabling it makes every wrapped secret unreadable. On the roadmap enterprise Dedicated deployment (runs in your own cloud) you hold and control the KMS key yourself.

Hint only

Clevername database

Our database stores only a masked display hint (e.g. sk-a…3f9b). The plaintext key is never written to our DB.

TLS 1.3

In-transit encryption

All traffic between your browser, our servers, and providers is encrypted in transit.

Runtime only

Key access

Keys are fetched from Secret Manager at the moment an API call is made and discarded immediately after. They are never logged.

Google Cloud IAM

Access control

The only identities with standing read access to your secrets are our backend service accounts. No human operator has one. Every access is recorded in Google Cloud Audit Logs.

Traffic security on every call.

CleverGuard is a four-tier cascade: Tier 0 data-label gate, Tier 1 pattern shield, Tier 2 ML classifier, Tier 3 self-hosted LLM deep scan (beta). Tiers 1 and 2 run on every plan from the free tier onward; Tier 0 needs an Enterprise data-label integration.

See what CleverGuard catches

The details

How each part works, in the depth a reviewer needs.

API key storage

When you add an API key for OpenAI, Anthropic, or Google Gemini, that key is sent over TLS directly to our backend and stored in Google Cloud Secret Manager, the same infrastructure Google uses to manage secrets across its own services. Your key is never written to our database. The Clevername database holds only a masked hint (first 4 + last 4 characters) so you can identify which key you've connected. The plaintext key exists only inside Google's Secret Manager and in our backend process's memory during the milliseconds it takes to make a provider API call. In production, Google Cloud Secret Manager is the exclusive key store. Local development instances use AES-256-GCM encryption with a server-side secret instead of Secret Manager. That fallback is never active on clevername.net.

How Secret Manager works

Google Cloud Secret Manager encrypts every secret version with AES-256-GCM. Access is controlled by Google Cloud IAM. Only the runtime service accounts that run our backend (hub-core-runtime@clevername-488215.iam.gserviceaccount.com, plus a separate identity per service) have permission to read secrets. Each service holds only the per-secret grants it needs; the CI deployer identity is separate and does not serve traffic. No Clevername employee is granted a standing IAM binding to read Secret Manager secrets, and every access is recorded in Cloud Audit Logs. As on any cloud platform, holders of high-level GCP project-administration roles retain the technical ability to change these IAM bindings. That access is itself restricted and logged, and we are tightening it further. On the roadmap enterprise Dedicated deployment (runs in your own cloud) you hold that administrative control yourself. Each time you update a key, the old secret version is immediately destroyed. There is never more than one live version of your key in Secret Manager.

Cloud KMS key wrapping (CMEK)

By default, cloud providers encrypt your data with keys they control. Clevername adds a layer: every secret in our Secret Manager is wrapped with a key that lives in GCP Cloud KMS (CMEK), on top of Google's default encryption. On the default multi-tenant deployment, this is a single shared KMS key that Clevername manages. It is not a per-tenant key, and it is not one you own or control. What it gives you: • Disabling the KMS key makes all wrapped secrets unreadable (a break-glass control). • Secrets carry a CMEK wrapping layer above Google's standard at-rest encryption. • The encryption layer is auditable: every KMS key usage (encrypt, decrypt) is logged to GCP Cloud Audit Logs. Per-tenant, customer-owned key control is on the roadmap as an enterprise Dedicated deployment that runs in your own cloud: your GCP project, your KMS key. That is the model regulated industries (healthcare, finance) rely on for HIPAA and SOC 2 Type II, where the customer must demonstrably control encryption material. On the default tier today, the shared key is Clevername-managed. KMS key: us-east1 · Key ring: clevername-user-secrets · Algorithm: AES-256-GCM

Request flow

When you send a message through Clevername: 1. Your message arrives at our backend over TLS 2. The backend fetches your API key from Secret Manager (one network call, in-memory only) 3. The key is used to forward your request to the provider (OpenAI, Anthropic, or Google) 4. The key reference is discarded from memory 5. The provider's response is returned to you At no point is your key written to disk, logged, or included in any audit record.

Conversation content

Clevername scans every prompt and response in memory, on plaintext, before anything is written. What is stored afterwards is governed by two controls. 1. Platform-wide default: metadata only. The agent I/O log and the tool-call log record timestamp, model, token counts, latency, verdicts, and a content hash keyed with a server-held key scoped to your organization (enough that a stolen database is not a lookup table for short prompts; not zero-knowledge, since staff holding that key could still test guesses). It does not record the prompt, response, or tool text. Storing prompt and response text is a platform-wide setting that is off; there is no per-organization switch to turn it on. 2. Per user: zero-knowledge I/O encryption. Turn it on under Settings → Privacy. Your browser derives a key from your passphrase (PBKDF2, 600,000 rounds) and generates an RSA-OAEP-2048 keypair; only the public key and a passphrase-wrapped copy of the private key reach Clevername. After that, every stored copy of your agents' content (I/O log prompts and responses, tool-call arguments, results, and error text, PII and secret-finding excerpts, tool-call renders in observed actions, system-prompt previews and baselines, false-positive report text, and ClaimGuard evidence) is encrypted with a per-record AES-256-GCM key wrapped once to your public key. There is no escrow copy and no server-side decrypt path, so Clevername staff cannot read it. Content flags attached to encrypted rows carry only categories and scores. Four things stay readable by the server on purpose: tool arguments parked for a human approval (encrypted with Clevername's platform KMS key so the approved action can run, deleted after it runs or expires), the result of an asynchronous tool execution (same platform KMS key, so the agent that started the call can poll for it; purged with the 90-day content window), the contents of files your agent reads (same platform KMS key, so the server-side agent can receive the body it asked for, since it cannot use the private key held in your browser), and content you explicitly donate for training. For all four, someone with our KMS key and database access can read the content. You can verify what is stored under Security → I/O Log, where encrypted rows are decrypted in your browser only after you enter your passphrase.

Authentication

Clevername uses Supabase Auth for user authentication, which is built on industry-standard JWTs. Sessions are short-lived and refreshed automatically. All dashboard actions require a valid authenticated session. Our backend verifies your Supabase JWT on every request. API keys stored in Secret Manager are scoped to your user ID. Another user's service account binding cannot access your secrets.

Key deletion

When you disconnect a provider key from the dashboard, two things happen simultaneously: 1. The secret is permanently deleted from Google Cloud Secret Manager (all versions destroyed, unrecoverable) 2. The metadata row (hint, timestamp) is deleted from our database If you delete your Clevername account, all of your secrets are deleted from Secret Manager as part of account cleanup.

Incident response

If we become aware of a security issue affecting user data, we will notify affected users by email within 72 hours. For responsible disclosure of security vulnerabilities, contact support@clevername.net.

Clevername runs on Google Cloud Platform (project clevername-488215, region us-east1). Secret Manager (with CMEK), Cloud Run, Cloud KMS, and Cloud Audit Logs are all first-party Google services subject to Google’s security and compliance certifications, including ISO 27001, SOC 2/3, and FedRAMP.

Compliance matrices and white papers.

Framework-by-framework mappings for reviewers, plus the technical reference behind this page.

Need the enterprise picture?

Server-side key custody with CMEK, deployment options including self-hosted, and the compliance posture, written for CISOs.