Zero-Trust access to your network, on your terms.

Claimward authenticates users with your identity provider and brings up a per-device WireGuard tunnel to your private network, from macOS, Linux and Windows. Self-hosted, open source, written in Go.

๐Ÿ”

Auth you already have

GitHub out of the box (OAuth device flow), any OIDC provider โ€” Google, Okta, Entra, Keycloak โ€” or go-authn in front of a SAML federation such as RENATER or eduGAIN, where each device's WireGuard key is registered by its owner. No passwords on the wire.

โšก

WireGuard fast

Modern, lean crypto: kernel WireGuard on the gateway, wireguard-go on the devices. One peer per device, scoped routes, leases that expire on their own.

๐Ÿข

Tenants

A person may belong to several tenants โ€” matched on email domain, groups or institution โ€” and chooses one per session. Each tenant's routes are pushed to its devices live, over gRPC on TLS.

๐Ÿ›ก๏ธ

A helper that trusts its own config

The tunnel is owned by a small privileged helper that enrolls only with the servers its root-owned configuration names, takes no tunnel settings from a request, and listens on a socket one group can reach.

๐Ÿงฉ

Self-hosted & open

Run the control plane on your own gateway. BSD-3-Clause. No SaaS, no lock-in, no telemetry.

How it works

  1. Sign in. The app signs you in with GitHub, an OIDC provider or go-authn, in your browser.
  2. Enroll. Its privileged helper sends the device's WireGuard public key, with that token and the tenant you chose, to a server its own configuration names.
  3. Authorize. The server verifies the token (with go-authn, also that the key was registered by the same person), checks the tenant, allocates an address, and adds the device as a peer on the gateway.
  4. Connect. The helper brings up an encrypted WireGuard tunnel into your private network, and the tenant's route changes reach it live.

Open components