who
roadmapThe name.
This process wears one name. An unnamed agent is refused, not defaulted. Environment is not a souvenir.
Two binaries today. A grip for secrets. A bag of hands that refuse to treat silence as safety. A third on the way, because hands without a leash leave the house. Not a framework. Not plugins.
The grip.
A per-machine encrypted secret store. Master key in the OS vault, AES-256-GCM at rest, age-encrypted sync over SSH. The value never appears in argv, a URL, or a log.
curl -fsSL https://csec.pwan0.com/install | bash
Currently at csec.pwan0.com. Moving to csec.limbs.dev.
The hands. One bag.
One Go binary. Scan untrusted text, mail, telegram, watch, ask a human, doctor, signed update. SAFE means every required scanner covered the bytes. A missing model is UNKNOWN, never a quiet pass. csec stays out of the bag: a secret store shared by everything on the machine must not share this binary's fate.
curl -fsSL https://ahh.limbs.dev/install | bash
Signed stable. Origin: ahh.limbs.dev. Staging remains at staging.ahh.limbs.dev.
ahh scan FILE
ahh mail inbox|send
ahh tg inbox|send
ahh watch
ahh ask|tell|warn|ack
ahh inbox
ahh doctor
ahh update check|apply
These are future ahh commands, not separate installs. Roadmap items have an issue. Moodboard items do not, yet.
The name.
This process wears one name. An unnamed agent is refused, not defaulted. Environment is not a souvenir.
The clock.
The model invents dates. tick is monotonic, freezeable, not a guess. A run without a clock is not a timeline.
The diary.
Append-only, signed. You can ask whether it actually happened. A missing log is not an empty day.
The last look.
ahh already looks at what comes in. The leak is what goes out. UNKNOWN does not send.
The till.
A ceiling on this process, today. When the till is empty the model call stays in. A missing meter is not a successful 200.
Moodboard. No issue until there is a case as sharp as the five above. They are not promised.
The rewind.
An agent run is a transaction you did not type. The last run comes back on a thread.
The fingerprint.
Every agent write carries a hand. Unreviewed edits do not count as yours.
The gut.
The next attack lives in what the agent remembers after the prompt is gone. Poisoned memory is jarred, not swallowed.
The lock.
Agent skills are still a folder you copied. Unsigned does not load.
The leash.
ahh looks at what the hands pick up. csec holds the keys. The packet still walks out through Claude Code, curl, the browser the model asked for. leash is default-deny egress for this process. A host that is not on the list is not a successful 200. UNKNOWN does not leave the machine.
Not an ahh command. Like csec, it has to bind every runtime on the machine, so it cannot share ahh's fate.
The installer is trust-on-first-use over TLS. It checks a checksum from the same host, which catches a corrupt download, not a compromised origin.
Every later update is verified against an ed25519 public key compiled into the binary you already have. A tool never accepts a manifest signed by another channel’s key, and never accepts a version below the one it last saw.
Not for you if you want a plugin marketplace, fifty integrations, or to empower your AI.