Show HN: The Harbinger: NHI and Security Policies for Agents Harbinger, a non-human identity (NHI) and agentic security platform, provides cryptographic identity (mTLS) and policy-based request checking for AI agents, bots, and service accounts without requiring code changes. The platform acts as a transparent mTLS MITM proxy, gating secret access by verifying both agent authorization to access a website and to use a specific credential against that website. Sane policies for insane agents. Harbinger is a non-human identity NHI and agentic security platform. Every AI agent, bot, and service account gets a cryptographic identity mTLS , every request it makes is checked against policy before it's allowed, and any real secret it needs is pulled from your own vault and swapped in at the edge, so the agent itself never holds a standing credential. The category is non-human identity security in general API keys, service accounts, bot tokens , with AI agents as the sharpest and fastest-growing example of it, not an AI-only tool. Most "AI agent security" platforms today are either an SDK you have to rewrite your agent against, a discovery/governance dashboard that tells you what credentials exist without changing how they're used, or something that just shifts responsibility from one API key to another. Harbinger takes a different approach: No code change required: Harbinger is a transparent mTLS MITM proxy. Point an agent's traffic at the gateway and it's covered, including third-party agent frameworks you don't control, which is most agent code today. Secret access is structurally, not just procedurally, gated. Each request with credentials gets checked against two questions: is the agent allowed to access this website, and is the agent allowed to use this credential against this website? Only when both are true does the agent get to use the credential. - Configure admin credentials: cd deploy/docker cp .env.example .env edit .env and set a real ADMIN PASSWORD - Run the docker compose file: docker compose up --build Once the build finishes, pki-init automatically drops hbg cli , harbinger agentd , and root ca.crt into deploy/docker/client-bundle/ on the host. If the agent will run on a different machine, copy that whole directory there first. Note: Only root ca.crt is specific to this deployment; hbg cli and harbinger agentd aren't, so they could come from anywhere else e.g. a GitHub release as long as it matches your OS and architecture. - Enroll an agent. cd deploy/docker/client-bundle ./hbg cli cert install --cert root ca.crt ./hbg cli agent install --agent my-agent --ip 10.0.0.5 --user admin This submits the enrollment request and waits for approval. Approve it from the web UI http://localhost:8446 , under Agent Enrollment or use the CLI, then re-run the same command to complete enrollment: ./hbg cli agent install --agent my-agent This writes my-agent.crt / .key , caches the root CA, and generates agentd.yml , all under ~/.config/harbinger agentd/ by default. Then run the agent under harbinger agentd , which proxies its traffic through the gateway: harbinger agentd run --agent my-agent --