Open source

Apache-2.0Self-hostable

One key per agent.
Every fetch states why.

Authoryx is the open-source secret provider for agentic AI. Give an agent one key — its Authoryx key — and it fetches every other credential on demand, with intent, under human oversight, on a full audit trail. Run it on your own infrastructure in minutes.

The three rules

Every agentic system today hard-codes secrets. These three rules are what replaces that.

  1. 01

    One secret per agent

    The agent carries a single credential — its Authoryx key. Every other secret is fetched on demand. Nothing is baked into an image or an env file.

  2. 02

    Intent before access

    Every fetch carries a natural-language reason. No reason, no secret. The reason is stored beside the decision, not discarded after the check.

  3. 03

    Human in the loop

    The owner approves or denies. The agent pauses and resumes around that decision without losing state — an unanswered request is a pause, not a failure.

Intent-based secret management

The agent says why it needs the credential. A person answers. The answer is kept.

Ask

The agent states why.

The fetch carries the credential name and a plain-language reason, written for a person rather than a log parser.

Decide

A policy resolves, or you do.

Auto-approve, require-human, or deny. When a human is required you see the secret, the intent, the agent and the time — and you answer. The agent pauses; it does not fail.

Resume

The value is released once.

Never logged, never written to disk. The agent picks up where it paused, and the decision lands on the append-only audit trail with the reason attached.

The fetch an agent sends
{
  "name": "STRIPE_SECRET_KEY",
  "intent": "Refund order #4182 — customer was double-charged."
}

The intent field is not telemetry. It is what the person deciding actually reads.

Most agent-identity products answer at provisioning time, and design the human out. At 150,000 agents that is the right answer. Authoryx answers at decision time: the thing asking says why, in plain language, and a person answers. It is the same event whether the asker is your sister or a Claude session.

One codebase, four runtimes

Portability is not a promise. It is a conformance suite.

The server is TypeScript on web-standard APIs, so the same source runs on all four. Anything that passes tests/conformance/ is an Authoryx Server — both the TypeScript server and the reference implementation are certified against it.

RuntimeUseEntry
Nodeself-host / containerentry/node.ts
Denolocal / generic Deno hostsentry/deno.ts
Supabase Edge$0 serverlessentry/supabase-edge.ts
Azure Functionsall-Azure serverlessentry/azure-functions.ts

Encrypted at rest

AES-256-GCM envelope encryption — a per-secret DEK wrapped by your master key. Values are never returned by any admin or session endpoint.

Append-only audit

Every request, reason and decision, with a first-class read API. Not a log file you have to grep.

Pluggable policy

Auto-approve, require-human, or deny, resolved per agent and per secret. Webhook and Slack notifiers sit on the same seam.

SDKs that pause

The Authoryx SDK for TypeScript and Python fetches by intent and pauses/resumes, so no secret is ever written to disk. Plus the Authoryx CLI secret scanner and Authoryx MCP for Claude Code.

Supported environments

Three layers. Pick who runs each one.

Every layer speaks one protocol — eight JSON Schemas, with a conformance suite that certifies an implementation against them. Pointing an agent at your own deployment instead of ours is one environment variable, and nothing in your code changes.

Dashboard

Where a human sees the request and answers it.

Build the dashboard against your API origin and publish it to Workers static assets.

cd apps/frontend && npm ci && npm run build
cd deploy/cloudflare && npx wrangler deploy

A ready-made wrangler config and a working CI workflow ship in the repo.

API

Where intent is checked, policy resolves, and the audit trail is written.

The shortest path. SQLite comes from the Node runtime itself, so there is nothing native to compile.

cd apps/server && npm install
AUTHORYX_MASTER_KEY=$(openssl rand -hex 32) npx tsx bin/cli.ts seed
npx tsx entry/node.ts

Node 22.5 or newer is required — that is the release that shipped node:sqlite.

Database

Where the encrypted secrets, the decisions and the audit trail live.

The driver is chosen by connection string alone. Point it at a database you already run.

AUTHORYX_DATABASE_URL=postgresql://user:pass@host:5432/authoryx

Run the migration once; the server creates and owns its own tables.

AUTHORYX_DB_SCHEMA namespaces every table under a Postgres schema you name — so Authoryx can live inside a database you already run, a Supabase project or an existing RDS, without touching anything in public.

Two ways in

Run it yourself, or let us run it.

Explore the open source.

Read the code, run it locally, decide for yourself. SQLite, no dependencies, $0.

git clone https://github.com/AutumLabs/Authoryx
cd apps/server && npm install && npx tsx entry/node.ts

Apache-2.0 — read the licence (opens in a new tab)

Run it on our infrastructure.

Same protocol, we operate it. Postgres, always-on, notifications wired, upgrades handled. You keep the audit trail and you keep the approvals — we never see a plaintext secret.

Managed hosting is in early access. You will hear from a person.

Not everything is built. The honest gap register (opens in a new tab) lists what is present, what is partial, and what is still roadmap — published verbatim, not summarised.