Manage secrets andenvironment variables

Open source platform for teams and AI agents to securely access, manage and deploy application secrets, from development to production.

Get started — Sign up with
Or explore self-hosting
R

Console

HomeAccessSyncingLogsSettings

Production

key
value
1
HOST
console.phase.dev
2
HTTP_PROTOCOL
https://
3
DEBUG
false
4
SERVER_SECRET
Sealed
5
DATABASE_URL
••••••••••••••••••••••••••••
6
REDIS_CONNECTION_STRING
••••••••••••••••••••••••••••
7
GOOGLE_CLIENT_ID
304857291046-p9r2vw5km63t08q.apps.googleusercontent.com
8
GOOGLE_CLIENT_SECRET
••••••••••••••••••••••••••••
9
SSO_PROVIDERSHas comment
google,github,gitlab,okta-oidc,entra-id-oidc
10
STRIPE_SECRET_KEY
••••••••••••••••••••••••••••
11
NEXT_PUBLIC_BACKEND_API_BASE
${HTTP_PROTOCOL}${HOST}/service
Trusted by
Phantom
Zeiss
Alchemy
GSA
AoPS
StoryLLP
Magneto
NaroIQ
Sellhub
theFactor.e
01 — Agents

Agency without exposure

Agents use freshly minted dynamic secrets with their own identity. If they run into any access issues, they automatically ping a team member and ask for higher privileges only when needed.

Complete visibility throughout: destructive actions like SQL DROP get blocked and audit-logged.

01.1Agents get their own identity
claude
Claude Code
Fable 5 · Claude Max
~/git/starlink/satcommand
why is the logs table so slow?
↳ phase-cli skill detected
· leased aws + postgres read-only creds · ttl 15m
· aws cloudwatch get-metric-statistics \
--metric-name ReadLatency --namespace AWS/RDS
ReadLatency     p99  812ms
CPUUtilization  avg  34%
· psql -c "SELECT count(*) FROM logs"
  count
----------
 41883306
(1 row)
· 41.8M rows, seq scan on created_at — no index
↳ suggest: BRIN index on created_at · partition monthly
rotate my stripe secret keys
↳ phase-cli skill detected
· phase secrets rotate STRIPE_SECRET_KEY --env=prod
✗ access denied — rotation on prod needs elevated scope
· read docs.stripe.com/keys/rotate.md
· phase access request --scope=stripe --ttl=1h
⧗ pending approval from Rohan · 1h elevated lease
scale the ecs cluster for tonight's launch
↳ phase-cli skill detected
· aws ecs update-service --service api --desired-count 12
· leased aws sts session · ttl 60m
service/api   desiredCount  4 → 12
rollout       IN_PROGRESS → STEADY_STATE
↳ scaled · 12/12 healthy · sts creds expired
AI egress proxy

Guardrails at the network edge

Agents use decoy secrets managed by Phase when making outbound requests to third-party services. The Phase AI proxy inspects each request and checks it against your policy — then injects the real secret mid-flight.

Agent context window — contains decoy secrets
Agent@claude deploy the latest tag to production → AWS
Agent@devin rebase the branch and review the PR → GitHub
Agent@codex run migrations on the staging db → Postgres
HTTPS — TLS terminated at the Phase proxy
Phase egress proxy
InspectTLS terminated · per-install CA
PolicyHost / path / method rules · deny DELETE on api.github.com
ApprovalAWS requires approval — approved
InjectReal credentials the agent never had
Real credentials · real TLS upstream
Third-party services
AWSSigV4 re-signed · requires approval
GitHubapi.github.com
PostgresCreds injected at handshake · statement-level policy
Response piped back — every action audited
Agent context window — contains decoy secretsPhase proxy — policy and injectionThird-party services — live secretsDataflow and approval
02 — Deploy

Deploy Secrets

Centralize, integrate and automate secret deployment pipelines across your infrastructure.

Humans
Developer — Consoleconsole.phase.dev
Developer — CLIphase secrets set · phase run
AI Agents
Claude CodeCursorCodex
+ Copilot · OpenCode · any agent harness via SKILL.md
create · rotate · set · run · SKILL.md — sealed values redacted
Check access · Enforce RBAC · Resolve references · Write logs
sync · auto-reload · inject @ runtime
03 — Govern
ACCESS & AUDIT

Govern Access

Effortlessly manage authentication, role-based access control (RBAC), and network access policies.

03.1Teams

Group members and service accounts into Teams, then grant a Team access to apps scoped to specific environments. Environment keys are provisioned automatically when someone joins and revoked when they leave — with team-owned service accounts and optional role overrides.

Teams
03.2Role-based access control

Managed and custom roles with a granular permission matrix, per-environment and per-path scoping, service accounts for machines.

Access control
SREcustom role
ResourceAccessreadcreateupdatedelete
SecretsFull access
EnvironmentsCustom access
IntegrationsRead access
MembersNo access
Service accountsCustom access
LogsRead access
03.3Network access policies

Restrict access to your secrets by IP address or CIDR range with network access policies for users and service accounts.

203.0.113.0/24aws vpc · us-east-1198.51.100.42azure bastion100.64.0.0/10office tailnet2001:db8:85a3::/48colo egress · ipv6
03.4Audit logs & versioning

Every CRUD operation logged with actor, source, and diff. Point-in-time rollback for any secret.

Logs
AWS_ACCESS_KEY_ID history
View the chronological history of changes made to this secret.
  1. Created12 days agobyEFElena Fischer
  2. Updated10 days agobyPNPriya Nair
    TAGS:aws
  3. Updated8 days agobyMCMarcus Chen
    COMMENT:temp key for stagingProd IAM key · payments-service
  4. Updated2 days agobySASofia Almeida
    VALUE:
    AKIAIX4ONRSG6ODEFVJA
    AKIAIX4ONRSG6ODEFVJB
  5. Read4h agobyCIci-runner
Security

Trust & Compliance

Every control here is cryptographically enforced, independently audited, or open to inspection.

S.01

SOC 2 Type 2 Certified

Independently audited under SOC 2 Type 2, with controls examined continuously over time. Penetration tested annually by Oneleet, an independent security firm. Reports are available in our trust center.

Trust center
SOC 2 Type 2 certified
SOC 2 TYPE 2 · EXTERNALLY PENETRATION TESTED
S.02

Strong cryptography

End-to-end encrypted: keys, values and comments, with an independent key for every environment. Optionally enable server-side encryption (SSE) for integrations and API access.

How it works
ARGON2ID · X25519 · XCHACHA20-POLY1305
S.03

No telemetry

Every line of code that secures your secrets is public and auditable. Run on Phase Cloud or your own infrastructure: Docker, Kubernetes, any cloud, or fully air-gapped. No outbound usage analytics or telemetry.

Deploy guides
AIR-GAPPABLE · PRIVATE · SELF-MANAGED
Secure · Transparent · Reliable · Secrets · InfrastructureExplore the security model
Platform

Batteries included.

Global search, offline mode, dynamic secrets, machine identity. The parts of a secrets manager you would otherwise build yourself.

Global secret search

Find any secret across every app, environment and folder in your organization. Search runs client-side: values are never decrypted.

stripe⌘K
STRIPE_SECRET_KEYsatcommand · Production
STRIPE_WEBHOOK_SECRETbilling · Staging
STRIPE_PUBLISHABLE_KEYstorefront · Development
Docs

Work offline

The CLI caches secrets locally, encrypted at rest. Set PHASE_OFFLINE=1 and keep shipping when the network is down.

no network
$ PHASE_OFFLINE=1 phase run -- ./server
[phase] Offline mode: decrypting from local cache
🚀 Injected 14 secrets from the Production environment.
Docs

Rotating secrets

Phase mints, exposes, and revokes third-party credentials on a schedule — your app picks up fresh values with no code changes.

OpenAIrotation healthy
OPENAI_API_KEYsk-proj-a7Xf9K2p••••
active — minted just nowprevious revokes in 6h
next rotation in 22h
Docs

Secret referencing

Compose configuration from other secrets, across environments, folders and apps. References resolve at inject time.

DATABASE_URL
postgresql://${db.PG_USER}:${db.PG_
db.PG_PASSWORD
db.PG_HOST
db.PG_PORT
Docs

Authentication for humans and machines

External identities for workloads: no bootstrap credential to provision, rotate, or leak. SSO with SCIM provisioning for people.

Machines — external identities

Workloads authenticate with their platform identity: an AWS SigV4-signed request or an Azure managed-identity JWT. Phase verifies the identity upstream with AWS STS or Microsoft Entra, matches it against your trusted principals, and returns a short-lived scoped token straight to the workload.

YOUR WORKLOADSIDENTITY PROVIDERSSIGV4-SIGNED REQUESTSCOPED TOKEN · DEFAULT TTL 1HMANAGED-IDENTITY JWTSCOPED TOKEN · DEFAULT TTL 1Hsts:GetCallerIdentityoidc discovery · jwksEC2 INSTANCEAWS IAM · SIGV4AZURE VMMANAGED IDENTITY · JWTVERIFY WITH AWS STSMATCH TRUSTED PRINCIPAL · ARNRESOLVE SERVICE ACCOUNTISSUE SCOPED TOKENEVERY ISSUANCE ON THE AUDIT LOGAWS STSVERIFIES SIGV4 SIGNATUREMICROSOFT ENTRA IDOIDC DISCOVERY · JWKS KEYS
AWS principalarn:aws:iam::123456789012:role/prod-api
Azure principal6a3f9c21-8d4e-4b7a-9f10-2c5e8b7d4a90
Humans — SSO

Single sign-on through your identity provider. Users are provisioned and deprovisioned over SCIM v2: Entra ID, Okta, JumpCloud, or any compatible directory.

Docs

Dynamic secrets

Lease short-lived AWS IAM credentials on demand. Renew within the max TTL, or revoke instantly.

AWSAWS IAMlease active
AWS_ACCESS_KEY_IDAKIA2F7X9K3MQP1Z••••
AWS_SECRET_ACCESS_KEY••••••••••••
leases
AKIA8D2VN5RQ0WJ4revoked
AKIA3M9QF4XK7PZ2expired 2h ago
AKIA6H8XW1PT4KDZexpired 1h ago
AKIAY6R2W8H0LDC5expires in 3m
AKIA4Q0BM7SJ2VNCexpires in 22m
AKIA2F7X9K3MQP1Zexpires in 54m
max ttl 1h
Docs

Audit logs

Every management action captured org-wide — actor, timestamp, and before/after diffs — built for compliance and incident response.

33 events
FilterRefresh
ActorEventResourceDescriptionTime
Actorclaude
ResourceMEMBER
Resource ID31286f55-c2bd-48db-8945-30a3856cd0cd
IP Address172.18.0.1
User Agentcurl/8.11.1
Event IDd52d4e3f-644f-408d-ba6f-f45a70c032d7
Timestamp2026-03-18T11:15:38.991Z
Changes
role:changed fromDevelopertoManager
Docs

Sealed secrets

Write-only secrets: once saved, the plaintext is never visible or editable in the UI again — ideal for signing keys and tokens.

ROOT_SIGNING_KEY[redacted]
write-once · plaintext redacted server-side after save
Docs

Kubernetes Operator

Declare a PhaseSecret and the operator keeps native Kubernetes secrets in sync, auto-redeploying your workloads on change.

Kubernetesphase-secret.yaml
kind: PhaseSecret
spec:
  phaseApp: 'satcommand'
  phaseAppEnv: 'production'
  managedSecretReferences:
    - secretName: 'api-secrets'
Docs
Stories

Trusted by builders

Engineers across a wide range of industries use Phase to build world-class software and secure critical infrastructure.

Shivam
Shivam
Lead Product Engineer @ Chatwoot

I tried out Phase a while back and was pretty impressed. The DX is amazing, especially the CLI. Managing secrets has been such a pain, I am definitely gonna use Phase for projects I work on going forward. … Super easy for me to recommend it to my peers.

Ash
Ash
Security Services Team Lead @ Arctic Wolf

Phase has one of the most well thought out security architectures I've seen. The encryption implementation is one I show my students as a benchmark for robust cryptography in a real-world application.

Mary
Mary
Co-founder @ Voxify

Phase looks like a solid tool for managing secrets in a secure and efficient way. I've used similar tools, but the ease of integration with other services like GitHub and AWS really sets this apart.

Nicola
Nicola
Senior Frontend Developer @Tiledesk

Phase is a valuable resource for any engineering team looking to improve their security practices and deployment processes. Highly recommended for those looking for robust solutions!

Christofer
Christofer
Mailfox

This is a great tool. When you work with a distributed team it is always a real pain to share secrets and credentials. I also love the fact that you offer a self-hosted version. Especially in Europe a lot of companies insist on hosting on premise 😅

Max
Max
Systems Engineer @ Defined Once

Great work with Phase, such a delightful piece of software.

Elias
Elias
Systems Engineer @ LJZ Digital Solutions

Great work with Phase, it's a blast to use.

Yuki
Yuki
Morph

Awesome one. This is what I've been looking for!

Numan
Numan
Web Developer

We have started using phase to inject secrets into our deployment app… Awesome product btw

Changelog
Deployment
Get started

Keep your secrets

Self-host or start on fully managed Cloud in under a minute.

Self-hosted

Run Phase on your own infrastructure. Free and open source.

AI agent deployment skill
$ npx skills add phasehq/ai
Cloud

Fully managed. From signup to your first secret in 60 seconds.

Sign up with