Secrets in the agent
Memory, logs, traces, and prompts can expose a reusable GitHub or Slack token.
KIRA lets an agent perform a specific operation on a connected service without receiving the destination credential. It checks identity, a short-lived authority envelope, policy, and approval, then returns a filtered result.
Secrets in environment variables, prompts, and plugins authenticate a process. They do not constrain the next action an agent takes, and they survive prompt injection.
Memory, logs, traces, and prompts can expose a reusable GitHub or Slack token.
A login or a prior “yes” does not authorize a different comment, channel, or repository.
Revoking one token interrupts every app that used it, and may not stop an agent that already holds it.
KIRA evaluates a bounded request. It does not hand a general-purpose credential to the model.
An agent can have a legitimate task without holding every capability of its user or its connection.
The agent is not the user, the workload, or the connection.
Operations, resources, lifetime, and use count can only narrow. Depth above one is rejected.
Destructive actions, credential reads, and public writes stay approval-gated. Tenant policy can add approvals. It cannot remove these.
Oversize bodies and recognized secret material are withheld before the agent sees them.
New work from an agent, a connection, or the whole deployment can be stopped without rotating unrelated credentials.
Identity, delegation, decision, approval, and outcome share one correlation id. Raw credentials are not written to the log.
The first proof is two constrained adapters, not a generic API proxy. Deleting a repository, reading a GitHub secret, changing branch protection, dispatching a workflow, and posting to a channel the bot has not joined are not catalogue operations.
Read an allowlisted repository or pull request. Comment on a pull request, with approval when the repository is public or its visibility is unknown.
Read recent messages in a channel the bot already belongs to. Draft a message locally. Send stays approval-gated.
A compromised agent can send any request the protocol allows. It still cannot read the destination credential, widen its envelope, or run while policy or revocation cannot be checked.
Phase 0 locks the architecture, threat model, and interface specs. The Go library now covers request digests, proof of possession, envelope validation, and fail-closed policy. The gateway, broker, adapters, approval screen, and connection UI come next.
Product spec, threat model, and GitHub/Slack vendor contract. Library tests for identity, envelopes, and policy.
Local two-process package: control plane, execution plane, GitHub and Slack adapters, approval, and audit.
Hybrid deployment: Horizon Labs control plane, customer-hosted execution plane. Not in the first release: a generic HTTP proxy or multi-level sub-agents.
KIRA is in early development. We are validating identity, approval, brokerage, and evidence with security and platform teams.