Selkie is a zero-trust access layer you run yourself. Enroll devices, broker peer-to-peer sessions over WireGuard, and manage everything from a clean admin UI — without handing your identity graph to a vendor.
Identity, device enrollment, session brokering, policy, and audit — in one self-hosted binary you can run anywhere.
Short pair codes, device-bound credentials, SSO-backed admin. The first login becomes the super-user account.
Every enrolled device gets a static overlay IP on a network you control. Keys never leave the device.
Short-lived session tokens, ICE candidate exchange, and STUN/TURN fallback via bundled coturn.
Single-page UI for device management, session history, relay health, and system status. No build step.
First-party iOS and Android clients that enroll and connect to your server with a QR code.
Every session logged; revocation is immediate and uniform across device, admin, and policy paths.
The control server coordinates identity and session establishment. Once a connection is established, peers communicate directly over the WireGuard overlay — or via TURN relay when direct paths are blocked by NAT.
docker compose up to run the
whole stack
┌─────────────────────────────────────────────┐ │ Admin UI · Mobile apps · CLI daemon │ └─────────────────────┬───────────────────────┘ │ HTTPS (session JWT) ┌─────────────────────▼───────────────────────┐ │ Control server │ │ Auth · Devices · Sessions · Audit │ │ Postgres · Redis · coturn │ └─────────────────────┬───────────────────────┘ │ WireGuard overlay ┌─────────────────────▼───────────────────────┐ │ Peers connect directly (or via TURN) │ └─────────────────────────────────────────────┘
Clone the repo, fill in your environment, and bring up the full stack with Docker Compose. The first admin login becomes the super-user account automatically.
.env.example to
.env.
UOA_DOMAIN at your admin
hostname and set your TURN host.
# clone and configure git clone https://github.com/unlikeotherai/selkie.git cd selkie cp .env.example .env # bring up the whole stack docker compose up -d # enroll your first device npm install -g selkie selkie enroll
Data models, API surface, and full system design.
SDK design, auth flows, and framework choices.
How the on-device agent runs and stays connected.
Native iOS and Android app specification.
Authentication with UnlikeOtherAuthenticator.
Libraries and dependency choices.