Human-in-the-loop secrets

Agents ask.
You paste.

Fidelius opens a native prompt when an agent needs a secret. You paste once. The agent gets private, short-lived files it can use with the tools it already knows.

curl -fsSL https://fidelius.ashray.xyz/install.sh | bash
irm https://fidelius.ashray.xyz/install.ps1 | iex

macOS + Linux + Windows · auto-delete after 5m by default · open source

The real Fidelius macOS window requesting a Google Maps API key

One new command

Ask the human. Then use the files.

Fidelius returns only a private temporary directory path. Inside is one file per requested secret. Values never appear in Fidelius stdout or stderr.

secrets=$(fidelius ask \
  -m "I need the Google Maps API key to finish scraping restaurant menus." \
  GOOGLE_MAPS_API_KEY)
returns/tmp/fidelius-501/1788330000-q7Kx2p/

No destination APIs

Use the tools you already know.

Fidelius does not know about dotenv, GitHub, Keychain, Vercel, or your scripts. It hands you files and gets out of the way.

.env.local
printf 'GOOGLE_MAPS_API_KEY=' >> .env.local
cat "$secrets/GOOGLE_MAPS_API_KEY" >> .env.local
printf '\n' >> .env.local
GitHub Actions
gh secret set GOOGLE_MAPS_API_KEY \
  < "$secrets/GOOGLE_MAPS_API_KEY"
macOS Keychain
{ cat "$secrets/GOOGLE_MAPS_API_KEY"; printf '\n';
  cat "$secrets/GOOGLE_MAPS_API_KEY"; printf '\n'; } |
security add-generic-password -U \
  -s restaurant-scraping-demo \
  -a GOOGLE_MAPS_API_KEY -w

Retry-friendly by design

Temporary, not one-shot.

If the next command fails, fix it and try again with the same files. Fidelius cleans them up for you after the auto-delete timeout, so asking the human and using the secret stay separate.

Default5 minutes
fidelius timeout        # show current
fidelius timeout 10m    # change it
fidelius timeout 30s
fidelius timeout 2h
•••

Never printed.

Only the directory path reaches stdout. Secret values stay in the native prompt, memory, and private files.

↻

Safe to retry.

The agent can run, debug, and rerun downstream commands without asking you for the same secret again.

⌘

Native desktop UX.

AppKit on macOS. Zenity on GTK, KDialog on KDE, and Windows Forms on Windows. No webview or Electron.

Ⅱ

Parallel agents are fine.

Each invocation has its own prompt and temporary directory, so several agents can wait independently.

A tiny human interface for agent secrets.

curl -fsSL https://fidelius.ashray.xyz/install.sh | bash
irm https://fidelius.ashray.xyz/install.ps1 | iex