Read the internals, then decide.
MeowPass is a CLI-first secret manager and AI credential gateway. This page documents how it works today: the mechanisms, the trade-offs, and what is still on the roadmap. Where we haven't built something, we say so on this page rather than implying otherwise.
Encryption
AES-256-GCM envelope encryption at rest, TLS 1.3 in transit.
Authentication
WorkOS AuthKit for SSO, passkeys, MFA, and scoped API keys.
Infrastructure
AWS Lambda, Neon Postgres, and a static frontend on a CDN.
Access control
Per-request authorization, scoped access, and approvals on sensitive actions.
Availability
Component status, audit logs, and a documented incident process.
Privacy
What we collect, what we don't, and how deletion works.
How access to a secret is controlled.
A secret is encrypted before it reaches the database. Every request that reads one is authenticated, checked against the caller's scopes, and written to the audit log. Some actions can also wait on a human to approve them before they run.
- Encrypted at rest with envelope encryption (AES-256-GCM)
- Transport over TLS 1.3
- Version history on every change
- Immutable audit logs (actor, action, resource, IP, time)
- Scoped permissions checked on every request
- Approvals for sensitive tools, gated on a human
We don't store passwords.
Identity is handled by WorkOS AuthKit, so sign-in, MFA, and passkeys live with a dedicated identity provider instead of in our database. MeowPass validates the tokens it issues and maps them to your account; it never sees a password.
- The dashboard signs in through AuthKit's hosted UI (OAuth 2.0 authorization code with PKCE)
- The CLI catches the code on a local loopback; tokens live in your OS keyring and refresh on their own
- Passkeys, TOTP MFA, and social sign-in (GitHub, Google) come from WorkOS
- Password reset and MFA recovery are handled by WorkOS
- Active sessions and recent devices are visible in your account settings
- CI pipelines and AI agents use scoped, revocable API keys
Two layers: transport and storage.
In transit, everything is TLS 1.3. At rest, each secret gets its own data key (a DEK), and that DEK is encrypted by a key-encryption key (the KEK) held by the server. This is textbook envelope encryption. The practical benefit is rotation: rotating the KEK re-wraps every DEK without ever touching the ciphertext of a secret.
How it works
- DEK: a per-secret data key that encrypts the value with AES-256-GCM
- KEK: a server-held key that wraps each DEK. KMS-bound in production
- Postgres stores ciphertext next to the wrapped DEK, never plaintext
What this is not
MeowPass is not zero-knowledge. It is not end-to-end encrypted, and it does not encrypt on the client. On an authorized request, the server decrypts the secret to serve or inject it, which means we hold the KEK. We put that here plainly so you can decide with the real picture.
What happens to a secret, from write to runtime.
You write a secret. It's encrypted before storage and a new version is recorded. When your app or CLI asks for it, we authorize the request, decrypt server-side, and inject the value into the process environment. Every read lands in the audit log.
In your workflow
The same three commands you'd run anyway.
Values are passed to the child process as environment variables. They aren't written to disk.
A small stack, on purpose.
Fewer moving parts means a smaller attack surface and a system we can actually reason about end to end. The Go API runs on AWS Lambda behind API Gateway, backed by Neon Postgres. The dashboard and this site are static.
Current status.
A component-level view of system health. These states are static today. A public status page with historical uptime and a live API is on the roadmap, and these cards are wired to read from it once it ships.
What we collect, and what we don't.
We keep the minimum needed to run the product and maintain an audit trail. We don't sell your data, and we don't read your secret values for analytics.
Collected
- Account email and name (via WorkOS)
- The secrets you store, encrypted at rest
- Audit logs: actor, action, resource, IP, timestamp
- Product analytics to improve the app
Not collected
- Your account password (it lives with WorkOS)
- Your secret values, for analytics or training
- Payment card data (it goes to our payments provider)
- Anything we sell to third parties
Retention and deletion
- Deleting a secret removes it from the database
- Audit logs are kept for the life of the account
- Deleting your account removes your vaults and audit records. Email support@meowpass.dev
- Export your data any time from the CLI
Agents get access, not the key.
When an agent needs a provider credential, it asks MeowPass instead of holding the key itself. Sensitive tools can require a human to approve first. The real key is injected into the upstream request server-side, so the agent works through a scoped, short-lived credential and never sees the raw one. Every brokered call is logged.
What we do when something breaks.
If something goes wrong, the order of operations is: contain it, tell the people affected, and write up what happened. This is the process we follow.
Detect and triage
target: ack within 24hWe triage reports and alerts and assign a severity.
Contain
Limit blast radius by rotating or revoking affected credentials and cutting off access paths.
Investigate and fix
Find the root cause and ship a fix. Keep the evidence for the postmortem.
Notify
Tell affected users what we know, without over- or under-stating the scope.
Postmortem
Publish the root cause and the specific changes we made so it doesn't recur.
Found a bug? Tell us first.
We welcome good-faith security research. If you think you've found a vulnerability, report it before you disclose it publicly and give us a reasonable window to fix it.
Security contact
Send steps to reproduce, the affected endpoints, and a proof-of-concept if you have one. A PGP key for encrypted reports is available on request.
Safe harbor
We won't pursue or support legal action for good-faith research that respects user privacy, avoids service disruption and data destruction, and gives us a reasonable window to fix the issue before it goes public.
Not built yet.
None of these exist today. They're on the roadmap, and they stay marked Planned here until they're real and independently verified. We don't list a certification we don't hold.