What we receive
Your prompts, files and secrets stay on your machine. This page lists every field that leaves it, and when.
In short
Every action gate and code gate runs on your machine, against your files, without calling Asondy. Until you connect the cloud with an API key, the installed software sends Asondy nothing.
Once connected, the hosted dashboard receives counts, names, ids and hashes. It does not receive your prompts, the text of your conversation, tool output, file contents, your goal text or secrets. Three features can send content, and each one is off until someone turns it on: content sharing, Data gate and verify.
What stays on your machine
- Your code
- Source files, diffs and test output stay local. Gates read them in place.
- Conversations
- Your prompts, the agent's replies and tool output stay in the transcripts your coding tool writes. The relay receives each turn's role, its length and a hash of its text, keyed by a secret that never leaves your machine.
- Goal text
GOAL.mdstays local. The relay receives the goal id and how many criteria pass.- Commands
- The local record of what each action gate allowed or blocked keeps the full command. The relay receives a command's program and subcommand, with its arguments replaced by
[args withheld]. - Secrets
- Key and token shapes, such as GitHub, npm, PyPI, Stripe, AWS and Slack tokens, private keys and JWTs, are masked in every action gate record and status line before it leaves.
- Local dashboard
- The local dashboard listens on 127.0.0.1 only.
What the cloud receives by default
- Session status
- Session id, host name, project folder name, coding tool, model id, token counts and cost, goal id, passing and total criteria counts, and action gate records: rule, action gate, tool, decision, time and target. A target is a file path, or a command reduced to its program and subcommand.
- Conversation turns
- For each new turn: whether you or the agent wrote it, its length and a short hash of its text, keyed by a secret that never leaves your machine, so the hash cannot be matched against guessed text.
- Tool events
- For each tool call: its name, whether it failed and the length of its output.
- Remote commands
- An instruction you type in the hosted dashboard passes through the relay to your machine. The machine confirms delivery with a lease token and a status word.
- Learning from outcomes
- Only when you set
ASONDY_CLOUD_URLandASONDY_CLOUD_TOKENfor it: goal id, a hash of the session id, counts and pass or fail flags.
The relay also removes text on arrival: if an older client sends turn text, tool output, a goal line or check names while content sharing is off, the relay drops it before it is shown or stored.
Create an empty .asondy/CLOUD_PUSH_DISABLED file in a project to stop its sessions reaching the relay while the rest of your account stays connected.
What you can turn on
- Content sharing (content, off by default)
- The org owner, signed in to the dashboard, can turn it on under Settings > Security. API keys cannot. From the next push, Sessions shows the start of each new turn, the end of each tool call's output, the first line of
GOAL.mdand the first sentence of each failing goal check, all with secrets masked. Turning it off stops this from the next push. - Data gate (content, off by default)
- When the org owner turns it on, each prompt, shell command, file write, web request, MCP call and tool output is sent for checking before it goes ahead. A file read sends only its path. The client asks whether Data gate is on first and sends nothing while it is off. Secrets are not masked here, because finding them is the point of the check.
- Verify (content, you run it)
- Only when you run
asondy-verify-remote.jsyourself. Repository mode sends the repository name and commit ids, and the service fetches that commit from GitHub.--sdkmode sends the last commit's diff and its changed files, unmasked. Installing Asondy prints this command and does not run it. - Harness (content, you start it)
- When you start a hosted harness run, the steps it asks for send back their result: the output of
bash scripts/check.sh, the start of each Markdown file in your project'scriteriafolder, and file hashes, all with secrets masked.
How long we keep it
- Turns and tool events
- Held in the relay's memory for the live view, capped per session, and dropped when the session goes inactive. They are not written to disk.
- Data gate text
- Checked in memory and not stored. Findings name the detector, the regulation and the action, never the value found.
- Verify
- Job files are removed when the job ends. Verdicts can quote source lines.
- Account deletion
- Settings > Account deletion removes your hosted records.
How long each record is kept is in the privacy notice.
Check it yourself
Point the client at a listener on your own machine and read every request it makes. Start a listener that prints each request:
node -e "require('http').createServer((q,s)=>{let b='';q.on('data',c=>b+=c);q.on('end',()=>{console.log(q.method,q.url,b);s.end('{}')})}).listen(8787)"
Then set "url": "http://127.0.0.1:8787" in ~/.claude/skills/asondy/cloud-config.json and use your coding tool as usual. The client accepts plain http for a loopback address, so this works without a certificate. Restore the original url when you are done.
Before you connect, a firewall that logs outbound connections, such as Little Snitch or LuLu on macOS, shows no connection to asondy.com from the installed hooks. The installer and the update check download from npm and GitHub and send nothing about your work.