Blackout of secrets
Secrets are blacked out before anything is stored or sent on. Tool output, the agent log and requests to a model provider pass one blackout step.
Diagram as text
- A tool prints something, for example env or a log file. The output passes the blackout step before it becomes a chat message.
- The step replaces passwords inside addresses, proxy variables, values of names ending in secret or token, and unambiguous key formats with three asterisks.
- The command of an Ultracode agent is shown in the agent log up to 2000 characters, with the same patterns and your vault values blacked out.
- Before a request goes to a model provider, the values of your vault entries are replaced there too, also as base64, hex or URL encoded text, by the placeholder or a short note.
- Chat history, database and model provider only ever see the replacement.
- In tool output, three asterisks replace passwords inside addresses, proxy variables, values of names ending in secret or token, and unambiguous key formats. This runs in chat turns and in background job runs, before the output goes into the chat history or to the provider.
- Before a request goes to a model provider, the values of your vault entries are replaced as well, also as base64, hex or URL encoded text, by the placeholder or a short note.
- The command of an Ultracode agent shows in the log up to 2,000 characters, with the same patterns and your vault values blacked out.
- The key service removes your key values from provider responses and swaps new secrets for placeholders.
Where this stops
The patterns recognize formats and names. A secret in a format nobody could recognize, in a place the patterns do not cover, can still pass. Vault values are replaced only if you saved them. After a database login the data stream is not scanned for the value. For values you do not want the AI to read at all, set the entry to use only or locked.