Blazing-fast remote access with identity-based policies, attested device trust, and detailed audit logs
Documentation | Quickstart | Download Clients | Support
Overview
Firezone is a secure remote access platform built on WireGuard®. Connect users to private applications, databases, servers, and subnets with granular policies that define who can access each Resource and under what conditions.
Combine identity-based access with cryptographic device verification and detailed audit records. Gateways run in your infrastructure, and the full product source is available for inspection in this repository.
Getting Started
Cloud (recommended)
Sign up free and follow the Quickstart to:
- Deploy a Gateway in the network containing your Resources.
- Define Resources and policies that grant access to the appropriate groups.
- Install a Client, sign in, and connect to an authorized Resource.
For plan details and feature availability, see pricing.
Self-hosting
The licenses permit self-hosting, subject to their terms. Production self-hosting is not officially supported. For development or evaluation, follow CONTRIBUTING.md to run a local environment.
Published Clients are only guaranteed to work with the managed service. Internal APIs change, and app store releases may lag behind this repository. A self-hosted portal may require Clients built from a compatible revision. Build instructions are available in swift/apple, kotlin/android, and rust/gui-client.
Features
- Least-privilege access: Grant groups access to specific Resources through policies, including conditions that require device attestation.
- Device Trust: Require cryptographic device verification in addition to user authentication, using X.509 certificates issued by your MDM or enterprise PKI. Learn more.
- Audit Logs: Track configuration changes, sessions, API requests, and traffic flows with 90-day retention. Export records to your SIEM through Log Sinks. Learn more.
- Device Pools: Create a peer-to-peer mesh of devices with encrypted Client-to-Client WireGuard tunnels, without deploying a Gateway. Policies control which groups can reach the devices in each pool. Learn more.
- Identity provider integration: Authenticate with Google Workspace, Okta, Microsoft Entra ID, or OIDC. Directory sync keeps users and groups aligned with your identity provider.
- Encrypted connectivity: WireGuard tunnels encrypt traffic between Clients and Gateways or between devices in a Device Pool. Direct connections reduce routing overhead; Relays carry encrypted traffic when a direct connection cannot be established.
- Distributed deployment: Deploy Gateways near your Resources across cloud and on-premises environments. Use multiple Gateways for load balancing and failover.
- Cross-platform access: Clients are available for Windows, macOS, Linux, iOS, and Android, with headless clients for automated workloads.
- Compliance: The managed service is SOC 2 Type II compliant. See the Trust Center.
See the architecture documentation for details on the control plane, data plane, and connection lifecycle.
Performance
- Latency: Direct Client-to-Gateway connections avoid a central traffic hub. Relays provide connectivity when a direct path is unavailable.
- Scaling: Add Gateways to distribute connections and increase aggregate capacity. Deploy them near Resources to keep traffic paths short.
Throughput and memory usage depend on hardware, network conditions, and workload. See the Gateway sizing documentation for sizing and configuration guidance.
Repository structure
This monorepo contains the Firezone product:
| Directory | Contents |
|---|---|
| elixir | Admin portal and control plane |
| rust | Data plane and shared Rust libraries |
| rust/gateway | WireGuard tunnel server for your infrastructure |
| rust/relay | STUN/TURN relay for connection establishment |
| rust/headless-client | Headless client |
| rust/gui-client | Windows and Linux GUI client |
| swift/apple | macOS and iOS clients |
| kotlin/android | Android and ChromeOS clients |
| policy-templates | MDM policy templates for Windows and macOS |
The marketing website and product documentation live in firezone/website.
Documentation and support
- Documentation: Deployment, configuration, and troubleshooting.
- GitHub Discussions: Community questions and support.
- GitHub Issues: Bug reports and feature requests.
- Support: Support options for your deployment.
- Contact sales: Enterprise requirements and deployment planning.
Contributing
See CONTRIBUTING.md for development setup, code guidelines, testing, and the pull request process. Browse help wanted issues for contribution opportunities.
Star History
Security
To report a vulnerability, follow SECURITY.md. Do not report security vulnerabilities through public GitHub issues.
License
Portions of this software are licensed as follows:
- All content residing under the "elixir/" directory of this repository, if that directory exists, is licensed under the "Elastic License 2.0" license defined in "elixir/LICENSE".
- All third party components incorporated into the Firezone Software are licensed under the original license provided by the owner of the applicable component.
- Content outside of the above mentioned directories or restrictions above is available under the "Apache 2.0 License" license as defined in "LICENSE".
WireGuard® is a register