API keys & tokens
Versioned, rotatable, injected at runtime.
ARKCRON Developer Vault
Store API keys, SSH keys, certificates and tokens in an encrypted developer vault — and hand applications short-lived, scoped credentials instead of permanent ones.
$ arkcron login --passkey✓ Authenticated as dev@example.com (passkey · device trusted)$ arkcron run --env prod -- ./deploy.sh→ policy: prod-deploy · approver: not required · risk: low injecting 3 secrets as env vars (never written to disk) AWS_ROLE sts session · ttl 15m DB_URL scoped read/write · ttl 15m STRIPE_KEY restricted key · ttl 15m✓ deploy finished · credentials revoked$ arkcron scan .! 1 hard-coded secret found in config/legacy.env:4 suggestion: arkcron import --from config/legacy.env --rotate$ Workflow
The CLI authenticates you with a passkey and device trust, then brokers a credential that lives for minutes — not months.
# install
brew install arkcron/tap/arkcron # or: npm i -g @arkcron/cli
# authenticate with a passkey
arkcron login --passkey
# run a command with secrets injected as env vars
arkcron run --env staging -- npm run migrate
# use the SSH agent — keys never touch disk
export SSH_AUTH_SOCK=$(arkcron ssh-agent --socket)Starts a task that needs access.
Requests access under a named policy.
Passkey + device trust + risk check.
Scoped token or cloud session, TTL in minutes.
Credential expires on its own; access is logged.
What it holds
- uses: arkcron/setup-cli@v1
with:
oidc: true # no stored ARKCRON token
- run: arkcron run --env prod -- ./deploy.shimport { Arkcron } from "@arkcron/sdk";
const ark = new Arkcron({ identity: "workload-oidc" });
const db = await ark.credential("prod/db", { ttl: "15m" });Free for individuals. No card required. Your keys stay on your devices from the first minute.