The Harness
Why the Expanded Being Needs a Gate
The Problem
Kernel CLI gives AI full access to the operating system. It can press any button in any app, type arbitrary text, run AppleScript, read Safari history, take screenshots, and kill processes. Without a gate, an AI agent can do all of this the moment it is given access to the terminal. There is no “are you sure?” There is no permission dialog. The command runs and the action happens. This is brave mode — raw capability with no control layer.The Solution: Three Tiers
NIIA embeds kernel-cli as a Rust library crate and wraps it with a permission layer. The same code runs, but access is gated.The OTP Gate
The gate between locked and unlocked is an email OTP verified by the server, returning an Ed25519 signed token that the binary verifies offline.Why OTP Is the Only Human-Proof Layer
The Flow
Why Ed25519 Instead of Just JWT
The OTP verify step returns a standard JWT. Why not use that directly?Separate Keys
The kernel control signing key is separate from all other signing keys: The kernel control signing key is a separate Ed25519 keypair from all other signing infrastructure. Different purpose, different key. If one is compromised, the other is unaffected.What AI Cannot Do
Tested and verified:The Pattern: OTP Gate as Primitive
The OTP flow is implemented as a reusable module (otp_gate.rs):
purpose string is sent as app_code to the OTP server. Different purposes
can have different rate limits, different token lifetimes, different audit
requirements — all without changing the client code.
Any future feature that needs human proof can use this gate: