custodian exec
Resolve a document of tokens and pipe the values into a program over standard input, without ever printing them.
custodian exec resolves a document of tokens the same way
custodian resolve does, then pipes the resolved document
into a program over standard input — so the real values exist only in that program's
memory, and are never printed, written to disk, passed as an argument, or added to the
environment. This is the command Custodian is built around: the agent works with
tokens, and the values are substituted at the last possible moment on a machine you
control. Be signed in first.
Put -- before the program, so its own flags are not read by Custodian:
custodian exec --input filled.json -- fill-liberty-form --template PY01.pdfThe resolved document is written to that program's standard input; the program is run directly, not through a shell, and inherits Custodian's environment unchanged.
Options:
--input <file>— the document to resolve;-or omitted reads standard input.--batch-size <n>— the most distinct tokens per request (default 50).--child-timeout <seconds>— terminate the program if it runs longer than this. This bounds the program only; the global--timeoutbounds Custodian's own requests, never the program.
Resolve first, then run
The program is started only after the whole document has resolved. So a token that fails to resolve means the program is never started, and no half-finished work is produced. The document and the master key are cleared from memory the instant the pipe is written and closed, before the program even exits.
Exit codes and the summary
custodian exec exits with the program's own exit code. A program that cannot be found
or run is Custodian's failure and exits 127; a program stopped by --child-timeout
exits 124. After the program exits on its own, Custodian writes a one-line summary to
standard error — counts only, never a value:
custodian exec: resolved 3 tokens and piped the document to "fill-liberty-form" over standard input; the master key was unwrapped on this device, and no plaintext was written to disk, passed as an argument, or added to the environment.