Octelium
Unified Access Platform
A unified secure access platform with secretless access, CEL/OPA-style ABAC, OpenTelemetry-native real-time visibility, and both client-based and clientless access.
Best for
Tradeoffs
Octelium is a free and open source, self-hosted zero trust access platform. A service running on your machine is served to the Cluster over an outbound tunnel and published at a stable URL on your own domain, either openly or behind your identity provider, with policy, rate limiting and auditing in front of it.
Every request from a human, a browser, a CLI, a workload or an AI agent is authenticated against your identity providers, authorized per request at the application layer by the Octelium Service in front of the resource, exported to your SIEM and observability stack whether it is allowed or denied, and only then routed to the upstream HTTP API, database, SSH server, Kubernetes cluster, LLM or MCP server.
Publishing a local service is one use of the same platform. Each capability is described in detail below, in the same order.
One architecture for client-based zero-config VPN-like access over WireGuard and QUIC tunnels and clientless access over browsers for humans and OAuth2 access for workloads.
Read moreIdentity-based, application-layer aware ABAC access control with policy-as-code via CEL and OPA, applied on a per-request basis.
Read moreDynamic secretless access where teams and AI agents access protected infrastructure without ever holding a credential.
Read moreTeams, workloads and AI agents share the same model for identity management, access control, and auditing.
Read moreOpenTelemetry-native, real-time, application-layer-aware visibility and structured logging.
Read moreOctelium is administered like Kubernetes. Define your resources in YAML files, store them in a Git repository.
Read moreEach resource is represented by a Service, which is served by an identity-aware proxy that abstracts away the network details of the upstream behind it. Where that upstream runs, and whether the internet can see it, are two separate fields.
Signing in once, then reaching Services with and without a client
Authorize every request from authenticated identity, request context and application-layer attributes with policy-as-code using CEL or Open Policy Agent.
Requests authorized one by one against CEL rules in the HTTP, LLM and Kubernetes modes
Application-layer credentials are stored in the Cluster as Secrets and injected into the upstream connection once a request is authorized. The credential a caller presents to the Cluster and the credential the Cluster presents upstream are entirely separate.
Upstream credentials injected per request by identity in the HTTP, SSH and PostgreSQL modes
Human and workload Users share the same identity management, authentication, access control and visibility model. The machine serving a resource is itself an identity, with its own Session and its own audit trail.
Signing in with a passkey and opening the Portal
Emit structured, application-layer access logs in real time and export them through OpenTelemetry OTLP to the observability, analytics and SIEM systems your organization already operates.
Run the Cluster on Kubernetes infrastructure you control, scale the data plane horizontally, manage resources declaratively, automate the platform through APIs and SDKs, and optionally deploy containerized Service upstreams with the Cluster itself.
Cluster resources applied declaratively from YAML with octeliumctl and managed programmatically with the Go, TypeScript, Python and Rust SDKs
Both products are compared from the same structured capability dataset and evaluated using the same evidentiary standard. Emerging or experimental capabilities are marked as partial regardless of vendor.
This is a curated subset of the full capability matrix, including areas where either product differs and areas where their capabilities are equivalent. Open the complete matrix for every row, source and filter.
Architecture
OpenID Connect
SAML 2.0
Native FIDO2 / Passkey
Native means implemented by the platform itself, not merely delegated to an external IdP.
Workload Identity
Anonymous / Public Access
Policy-as-Code
Per-Request Authz
For L7 products, this means each HTTP/gRPC/API/K8s request can be evaluated. For overlays, session/connection policy is not counted as per-request. This modeling choice structurally favors L7 gateways over network overlays.
L7-Aware Policies
Device Posture
HTTP / HTTPS
gRPC
SSH
PostgreSQL
MySQL
Kubernetes
Raw TCP / UDP
HTTP Manipulation
WireGuard Data Plane
Whether the product's own client/data plane is built on WireGuard, versus a proprietary or TLS-based transport.
NAT Traversal
OpenTelemetry-Native
L7-Aware Access Logs
SSH Session Recording
Client-Based VPN / Overlay
Clientless Browser Access
Private DNS
GitOps / Declarative Config
AI / LLM Gateway
MCP Gateway / MCP Access
Deploy Containers / PaaS
API Gateway
Kubernetes Ingress / Gateway
Reverse Proxy / Tunneling
Auto Horizontal Scaling
High Availability
Fully Self-Hosted
Server Code Open Source
No Mandatory Proprietary Cloud
Data Sovereignty
Unified Access Platform
A unified secure access platform with secretless access, CEL/OPA-style ABAC, OpenTelemetry-native real-time visibility, and both client-based and clientless access.
Best for
Tradeoffs
Developer Tunnel / Gateway
Strong developer gateway/API exposure product; not a full self-hosted ZTNA/PAM platform and lacks deep DB/SSH/K8s secretless protocol semantics.
Best for
Tradeoffs
The same platform capabilities ship with every deployment, whichever way you use it.
Publish resources behind NAT without opening inbound ports, using infrastructure and domains you control.
Read moreDeploy, scale and serve containerized applications as Octelium Services with private, authenticated or anonymous access.
Read moreReach self-hosted resources behind NAT without forwarding ports and expose selected Services privately or publicly on your own domain.
Read moreInstall a self-hosted Cluster and start applying identity-aware access control to your Services.