---
title: "Phase | Security"
description: "How Phase is engineered, hardened and verified: end-to-end encryption on libsodium, SOC 2 Type 2 audits, independent penetration tests, sharded tokens and open-source code."
url: https://phase.dev/security/
---

Security

# Security at Phase

Access to your secrets is controlled by encryption keys that only you hold. Phase is built on a rigorous cryptographic foundation: open source, end-to-end encrypted by default, and engineered for enterprise-grade security.

Trust & complianceSOC 2 / Pentest

### SOC 2 Type 2

Independently audited by Oneleet. Our controls are examined continuously. Audit reports are available in our trust center.

![SOC 2 Type 2](https://phase.dev/assets/soc2-certified-dark-badge.svg)[Trust center](https://trust.phase.dev/)

SOC 2 TYPE 2 · CONTINUOUSLY MONITORED

### Penetration tested

Penetration tested by Oneleet, an independent security firm, across the platform, APIs and services, with remediation tracked to completion. Executive summaries are available through the trust center.

![Oneleet](https://phase.dev/assets/images/oneleet-logo-dark.svg)[Pentest reports](https://trust.phase.dev/)

ONELEET · WITHIN THE LAST 12 MONTHS

### OpenAI

Phase is an OpenAI Daybreak partner.

Daybreak is OpenAI's cyber defense program. It gives verified defenders governed access to GPT Cyber models, with scope controls, monitoring and human review.

Phase CloudInfrastructure / Controls

## Security controls.

The controls in place across the platform and the organization, audited and continuously monitored. The live list is published in the trust center.

[Checking status](https://phase.statuspage.io)

### Access Control and Authorization

-   Access granting process used
-   Access management policy established
-   Account inventory maintained
-   Dormant accounts disabled
-   Employee access regularly reviewed
-   MFA required for critical services
-   Password management policy enforced
-   Password management policy established

### Infrastructure Security

-   Active discovery tools used
-   Administrator access restricted
-   Automated security scanning performed on infrastructure
-   Buckets not exposed publicly
-   Configuration management system established
-   Firewall restricts public access to infrastructure
-   Infrastructure changes logged
-   Infrastructure changes require review
-   Infrastructure deployed using an infrastructure-as-code tool
-   Production deployment access restricted
-   Unauthorized assets addressed and removed
-   Unique production database authentication enforced
-   VPN used
-   Web Application Firewall (WAF) used

### Monitoring and Incident Response

-   Audit log management process maintained
-   Audit logs collected
-   Incident response policy established
-   Incident review process implemented
-   Infrastructure performance monitored
-   Log management used
-   Network infrastructure monitored

### Disaster Recovery

-   Automated backups enabled
-   Business continuity and disaster recovery policy established
-   Data recovery process established
-   Disaster recovery plans tested
-   Recovery data isolated

### Endpoint Security

-   Anti-malware deployed on end-user devices
-   Data encrypted on end-user devices
-   Firewall maintained on end-user devices
-   Mobile device management (MDM) used

### Email Security

-   DMARC policy and verification used
-   Email account access restricted
-   Email settings block malicious content

### Vulnerability Management

-   Automated software patch management performed
-   Penetration testing findings remediated
-   Penetration testing performed within the last 12 months
-   Vulnerabilities scanned
-   Vulnerability management policy established

### Data Management and Protection

-   Data encrypted at rest
-   Data encrypted in-transit
-   Data inventory maintained
-   Data management and retention policy established

### Organizational Security

-   Acceptable use policy established
-   Asset inventory maintained
-   Asset management policy established
-   Change management policy established
-   Changelog established and maintained
-   Code of conduct established
-   Company security commitments externally communicated
-   Data-flow diagrams maintained
-   External support resources available (i.e., documentation)
-   Offboarding process established
-   Onboarding process established
-   Password manager used
-   Performance evaluations conducted
-   Physical access restricted
-   Policies signed by relevant personnel
-   Reference checks performed for employees
-   Roles and responsibilities specified
-   Security awareness training conducted
-   Service description communicated
-   Software development lifecycle established
-   System changes externally communicated
-   System changes internally communicated

### Risk Management

-   Risk assessments performed
-   Risk management policy established
-   Vendor inventory maintained
-   Vendor management program established

[Live control status](https://trust.phase.dev/)[Data processing agreement](https://phase.dev/legal/dpa/)

CryptographySpecified / Proven

## Crypto.

One standardized set of primitives across the platform: elliptic-curve cryptography on Curve25519, authenticated encryption, and memory-hard key derivation. All implemented using the open source libsodium library.

[Randomness ### ChaCha20 CSPRNG — crypto\_kdf\_keygen · 32-byte keys seeded from /dev/urandom · crypto.getRandomValues()](https://docs.phase.dev/security/architecture#random-number-generation)[Encryption ### XChaCha20-Poly1305 AEAD — 256-bit keys · 192-bit nonces · per-field ephemeral keypair + random IV · output K\_eph ‖ C ‖ IV](https://docs.phase.dev/security/architecture#encryption)

[Key Exchange ### X25519 ECDH over Curve25519 — 256-bit keys · ephemeral keypair per operation → session key](https://docs.phase.dev/security/architecture#key-exchange)[Secret Sharing ### XOR · t = n 2-of-2 split of a 256-bit key — share0 ⊕ share1 · an individual share reveals nothing](https://docs.phase.dev/security/cryptography#secret-sharing)

[Key Derivation ### Argon2id Memory-hard — 32-byte seeds · account seed: 1 GB · 4 iterations · device key: 64 MB · 2 iterations](https://docs.phase.dev/security/architecture#key-derivation)[Subkeys / Key Digests ### Blake2B crypto\_kdf\_derive\_from\_key — CONTEXT \_\_sign\_\_ → Ed25519 signing keys → X25519 · key digests salted with Salt\_env, 32-byte outputs — server-side lookups without plaintext](https://docs.phase.dev/security/architecture#key-derivation)

XCHACHA20-POLY1305 — 192-BIT NONCES · RFC 8439 /  CURVE25519 — PASSES ALL SAFECURVES CRITERIA /  ARGON2ID — PASSWORD HASHING COMPETITION WINNER /  AS USED IN TLS 1.3, SIGNAL, WIREGUARD, TOR

[Why these algorithms](https://docs.phase.dev/security/cryptography)

ArchitectureE2EE

E2EE by default

[Full architecture](https://docs.phase.dev/security/architecture)

## End-to-end encryption

Encrypted by default: keys, values and comments, with an independent key for every environment. In the default E2EE mode Phase servers store only ciphertext and cannot decrypt your secrets.

Keys only you hold

Your account keys derive from a 24-word mnemonic phrase only you hold. Granting access wraps an environment’s keys to your account’s public key. The server stores wrapped keys and ciphertext it cannot open.

[Key derivation](https://docs.phase.dev/security/architecture#key-derivation)

24-WORD MNEMONIC · ARGON2ID 1 GB · X25519 WRAPPING

Server-side mode, explicit

End-to-end encryption is the default. Server-side encryption is a per-app opt-in for when you need third-party syncs or the REST API. The environment key is then stored encrypted on the server.

[E2EE vs SSE](https://docs.phase.dev/console/apps)

E2EE BY DEFAULT · SSE OPT-IN PER APP

Zero-trust Lockbox

Share a secret with anyone via a single link: the Box Seed travels in the URL fragment, parsed only by the browser and never sent to the server. View limits and expiry built in.

[How Lockbox works](https://docs.phase.dev/security/architecture#lockbox)

BOX SEED IN THE URL FRAGMENT · KEY DISCARDED AFTER ENCRYPTION

FAQStraight answers

## Frequently asked questions.

No, not in the default [end-to-end encrypted mode](https://docs.phase.dev/security/architecture). Phase servers store ciphertext and wrapped keys they cannot open; decryption happens on your devices. If you opt an app into server-side encryption for third-party syncs or the REST API, the environment key is stored encrypted on the server and used only for those operations.

XChaCha20-Poly1305 for authenticated encryption, X25519 for key exchange, Ed25519 for signatures, Argon2id for key derivation and BLAKE2b for subkeys and digests, all via libsodium. See [why these algorithms](https://docs.phase.dev/security/cryptography).

All customer data on Phase Cloud is hosted in AWS eu-central-1, Frankfurt, Germany. Or [run Phase on your own infrastructure](https://docs.phase.dev/self-hosting): any cloud, on-premises or fully air-gapped.

Yes. Google, GitHub and GitLab SSO on every tier; OIDC providers like Entra ID and Okta plus SCIM provisioning on Enterprise. Enforceable org-wide, on both Phase Cloud and self-hosted. See the [authentication docs](https://docs.phase.dev/access-control/authentication).

Request access through the [trust center](https://trust.phase.dev/). It hosts the SOC 2 Type 2 report, pentest executive summaries and the live control program.

No. [Self-hosted Phase](https://docs.phase.dev/self-hosting) sends no usage telemetry and licenses verify locally, so it runs fully air-gapped or behind an egress filter.

Email [security@phase.dev](mailto:security@phase.dev). We ask for no public disclosure until we respond; machine-readable contact details live in our [security.txt](https://phase.dev/.well-known/security.txt) (RFC 9116).

Contactsecurity@phase.dev

## Questions or disclosures

For security questions, vendor reviews or vulnerability reports, contact our security team.

[security@phase.dev](mailto:security@phase.dev)[Trust center](https://trust.phase.dev/)[Disclosure policy](https://github.com/phasehq/console/blob/main/SECURITY.md)[security.txt](https://phase.dev/.well-known/security.txt)

RFC 9116

DeploymentSelf-hosted / Cloud

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

[![Docker Compose logo](https://phase.dev/assets/images/docker.svg)](https://docs.phase.dev/self-hosting/docker-compose)[![Kubernetes logo](https://phase.dev/assets/images/kubernetes.svg)](https://docs.phase.dev/self-hosting/kubernetes)[![AWS logo](https://phase.dev/assets/images/aws.svg)](https://docs.phase.dev/self-hosting/aws-eks)[![GCP logo](https://phase.dev/assets/images/gcp.svg)](https://docs.phase.dev/self-hosting/gcp)[![Azure logo](https://phase.dev/assets/images/azure.svg)](https://docs.phase.dev/self-hosting/azure)[![Railway logo](https://phase.dev/assets/images/railway.svg)](https://docs.phase.dev/self-hosting/railway)[![Raspberry Pi logo](https://phase.dev/assets/images/raspberry.svg)](https://docs.phase.dev/self-hosting/raspberrypi)

[Self-hosting guide](https://docs.phase.dev/self-hosting)

Cloud

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

Sign up with

[Google](https://console.phase.dev/login?provider=google)[GitHub](https://console.phase.dev/login?provider=github)[GitLab](https://console.phase.dev/login?provider=gitlab)
