Early access · opening in waves

Every SSH key.
Every server.
One source of truth.

Keyzo keeps authorized_keys in sync across your entire fleet. Grant access in a click. Revoke it everywhere in seconds. And prove exactly who could reach what — with an audit trail that breaks if anyone quietly rewrites it.

Mutual TLS identity No standing credentials One command to install Self-hostable
keyzo · fleet console live

        
FLEET STATE 0/24 converged
in sync applying converged
0s
Fleet-wide propagation
Agents poll every 30s by default
0
Standing credentials held
Keyzo never needs SSH into your fleet
0
Static binary per host
No runtime, no agent sprawl
0%
Changes hash-chained
Tamper-evident by construction
The status quo

Your access control is
a pile of text files.

Every server has its own authorized_keys. Nobody is quite sure what's in all of them. That's fine — right up until the day it really, really isn't.

  • offboarding

    Removal is grep-and-pray

    Someone leaves on Friday. Their key is on 40 boxes, or 400 — and the only way to know is to go look on each one.

  • visibility

    Nobody can answer "who can reach prod?"

    Not quickly, not confidently, and not in a way you'd want to put in front of an auditor.

  • latency

    Config management runs on a schedule

    Your playbook removes the key on the next run. Revocation shouldn't have to wait for a cron window.

  • lifecycle

    Keys outlive the people who made them

    Contractor keys, laptop keys, that one "temporary" deploy key from 2019. All still perfectly valid.

Live simulation · try it

Watch a revocation
cross a fleet.

Pick someone. Grant or revoke. Every host converges on the new state — and you can watch a single host's authorized_keys rewrite itself as the wave hits it. Sped up here; in production each host converges on its next check-in, inside the 30-second poll interval.

keyzo · access simulator idle
Fleet · 48 hosts all in sync
Getting started

Three steps.
About five minutes.

One command on each server. After that it's all browser — no client tooling to install, no config files to template, nothing for your team to learn before they can use it.

01

Install the agent

The only command you'll ever run. It enrolls with a single-use token, generates its own keypair locally, and gets a client certificate back — the private key never leaves the machine.


        
02

Add people and their keys

Register staff once, attach their public keys, and organise hosts into groups. Keyzo validates every key it accepts — no command= smuggling, no weak algorithms.

A
Alice Chenalice@acme.com
2 keys
B
Ben Okaforben@acme.com
1 key
C
Carol Diazcarol@acme.com
disabled
03

Grant, revoke, sleep

From the dashboard: grant access to a host, a group, or the whole fleet. Revoke it — or disable someone outright — and every agent drops the key on its next check-in.

converging · 48 hosts
Architecture

Agents pull.
Nothing pushes.

The control plane never opens a connection into your fleet, never holds SSH credentials for it, and never needs a hole in your firewall. Agents dial out over mutual TLS and ask what the world should look like.

If Keyzo goes down, nothing breaks

Agents just keep the last state they applied. Existing SSH access keeps working; you simply can't make changes until it's back.

Certificates rotate themselves

Each agent renews its own client certificate about a month before expiry. No cron job, no calendar reminder, no 3am page.

Agents update themselves

Ship a new agent build and the fleet picks it up on its next poll — downloads, swaps itself out, and re-execs in place.

Security model

Built like it's holding
the keys. Because it is.

Mutual TLS identity

Every agent gets its own client certificate signed by an internal CA. The TLS stack verifies it during the handshake — a forged identity never reaches application code at all.

Zero standing credentials

Keyzo holds no SSH keys, passwords, or sudo rights for your servers. Compromising the control plane doesn't hand anyone a shell on your fleet.

It only touches its own block

The agent rewrites the lines between two marker comments and nothing else. Your hand-added keys, your command= backup key, your comments — all survive every sync untouched.

Hash-chained audit log

Every change commits to the hash of the one before it. Edit or delete a historical row and the chain visibly breaks from that point forward — see for yourself below.

Atomic, crash-safe writes

Files are written to a temp file, fsynced, then renamed into place. A concurrent sshd read sees the old file or the new one — never a half-written one.

Revocation is the fast path

Desired state is computed fresh on every poll from current grants. A revoked key simply stops appearing — there's no "removal job" to queue, retry, or lose.

Tamper evidence · try to break it

An audit log that
breaks if you touch it.

Each entry's hash commits to the previous entry's hash. These are real SHA-256 digests, computed in your browser right now. Try rewriting history and watch the chain give you away.

Chain intact — 5 entries verified.
Early access

Get your fleet
under control.

Keyzo is opening up in waves. Tell us a little about your fleet and we'll get you a deployment and an invite code. We'd rather onboard a handful of teams properly than a thousand badly.

  • Self-host it, or let us run it for you
  • Bring your existing keys — nothing to migrate
  • Real humans reading every request

No spam, no sales sequence. One email when your wave opens.