CLI runbook

Use the secret without making another copy of it.

The CLI is the first local runtime: create a local vault, enroll the machine, add an encrypted secret, run as an authenticated identity, and read the audit line. Buffered envelopes keep working offline. Strict envelopes need a control-plane ack before release.

asiri.localno values printed

$curl -fsSL https://github.com/o-clan/asiri-cli/releases/latest/download/install.sh | bash

$asiri --version

asiri 0.1.12

$asiri env --workspace oclan-co prod/cloudflare/WRANGLER_SECRET -- wrangler deploy

✓ authenticated runtime may inject

✓ prod envelope resolved strict

✓ strict audit ack received

secret exposed only to child environment · audit synced

First run

The basic loop is small.

Install the CLI, create a local vault, save the secret once, then let the authenticated runtime use it. After that, the important part is the audit line.

  1. 01
    Create the local vault
    asiri login — creates or unlocks a local profile. The human signs in with OAuth only when syncing to the control plane.
  2. 02
    Trust this machine
    asiri device enroll — the device creates local keys and must be approved before it can decrypt locally.
  3. 03
    Add one secret
    asiri add --workspace oclan-co prod/cloudflare/WRANGLER_SECRET --stdin — the value is encrypted locally before upload. The control plane stores ciphertext and metadata after push.
  4. 04
    Run as the authenticated identity
    asiri env --workspace oclan-co prod/cloudflare/WRANGLER_SECRET -- wrangler deploy — the signed-in user and trusted device authorize local use.
  5. 05
    Add an audit label when useful
    asiri env --workspace oclan-co --label release prod/cloudflare/WRANGLER_SECRET -- wrangler deploy — the label describes the event and never changes authorization.
  6. 06
    Review the trail
    asiri audit tail --workspace oclan-co --limit 10 — see allowed use, denied use, device context, revokes, and whether local events are still pending or already synced.
Authorization shape

Identity authorizes. Labels describe.

Human users and service accounts are authenticated identities. Trusted devices determine where encrypted secrets can be used. Command, app, process, and agent labels only enrich audit records.

Prefer environment injection, mounts, or broker use so agents do not receive plaintext.

Example runtime event authenticated runtime injected one token
Label
wrangleraudit metadata for this child command
What
prod/cloudflare/WRANGLER_SECRETa stable short path inside workspace oclan-co, not the plaintext value
How
injectavailable to the child process, never printed by Asiri
Where
peter-mbponly after this local device is trusted
When
2h, strict auditshort enough for setup work and acked before release on critical envelopes
Beyond one command

Same identity, different local exposure.

The authenticated identity decides what is allowed; the runtime mode decides how the child process receives it. Every materialization path goes through the same audit gate. The hosted service is never in the traffic path.

Environment injection
Run normal tools through Asiri when they already expect environment variables. The value is identity-authorized, audit-gated, and materialized only for the child process.
asiri env --workspace oclan-co prod/cloudflare/WRANGLER_SECRET -- wrangler deploy
Unsafe argv escape hatch
Use only for tools that accept secrets only as inline arguments. It requires an explicit flag and records a separate audit event because argv can leak through process lists and logs.
asiri run --workspace oclan-co --label argv-only-cli --unsafe-argv argv-only-cli --token asiri://prod/cloudflare/prod-token
Local broker
Give agents and long-running tools a broker handle instead of long-lived env or file exposure. Broker value requests still honor strict envelope ack before the value is returned.
asiri broker start --workspace oclan-co --label prod-api
Env or files
Export direct envelope secrets as env vars, or materialize 0600 temporary files for apps that read Docker-style secrets. Files are cleaned up when the child exits.
asiri env --workspace peter-oclan-co dev/cloudflare -- npm start
Agent skill

Give agents the Asiri operating manual.

The installable skill teaches an agent how to inspect metadata, use scoped secrets, track new operational secrets, and stop before touching device trust or key material. It is shipped as a standard skill folder, not a product-specific plugin.

Use the GitHub release asset for agent harness installs. The website mirrors the skill for humans reading the CLI runbook, but GitHub is the machine-safe source.

agent promptskill folder

>Install the Asiri skill from https://github.com/o-clan/asiri-cli/releases/latest/download/asiri-skill.tar.gz

Then use it when operating Asiri secrets.

✓ inspect metadata without values

✓ run tools with scoped secrets

✓ track new secrets back to the workspace

stop before trust, recovery, rekey, or local key repair

Audit trail

Check the audit line before you move on.

Every allowed or denied use leaves a readable event. Buffered mode appends locally and syncs later. Strict mode fails closed if the control plane is unreachable or does not return a matching ack.

Review the CLI loop
secret_injected user:peter · label:codex · peter-mbp · oclan-co:prod/cloudflare/WRANGLER_SECRET · strict acked
secret_read_denied service-account:ci · label:deploy · raw read denied by service policy
secret_mounted user:peter · label:ssh-helper · local/app/SSH_KEY · buffered · pending sync
grant_revoked owner:peter · service-account grant revoked
device_revoked owner:peter · key unwrap blocked
Next

Build the first workflow.

Start with one local dev secret and one authenticated coding-agent workflow. Expand to CI, containers, or servers once the loop feels routine.