Data usage and privacy
What Syntic Code sends off your computer, what it keeps on it, how long it keeps it, and how to turn optional traffic off. For proxies, certificates and the hosts the CLI contacts, see Network configuration.
What is sent where
| Traffic | Goes to | Can you turn it off? |
|---|---|---|
| Your prompts, the files and command output the agent reads, and tool results | The Syntic platform, to run the model | No: this is how the agent works. Keep sensitive files out with deny rules. |
| Sign-in, plan check and organization role | The Syntic platform | No |
The model list for /model | The Syntic platform | No |
| Your organization’s managed settings, if any | The Syntic platform | Only at the disabled privacy level |
| The once-a-day update check | Syntic’s release server | Yes |
| A connection warm-up at start | The Syntic platform | Yes |
| The status line’s plan-usage refresh (every five minutes) | The Syntic platform | Yes |
| The daily plugin-marketplace refresh | Your marketplaces’ hosts | Yes |
| Usage events and metrics, if you set up export | Your own collector | Off unless you turn it on (Monitor usage) |
| Anything you start yourself: MCP servers, hooks, web fetches, plugin commands | Wherever they point | Controlled by you |
Feedback reports (/feedback), shared transcripts (/share) and answers to the occasional one-question survey are saved on your computer only. Nothing is uploaded. Set "feedbackSurvey": false to stop the survey.
Your sign-in credentials are never passed to commands, hooks or MCP servers that Syntic Code starts.
What the model sees
The model only sees what enters the conversation:
- what you type, and files you mention with
@, - memory files (
SYNTIC.mdand rules), - what the agent reads with its tools, and the output of commands it runs,
- results from MCP servers and web fetches.
Files the agent never opens are not sent. A deny rule stops the agent from reading a file at all:
{ "permissions": { "deny": ["Read(.env)", "Read(*.pem)", "Read(~/.ssh/**)"] } }For a stronger fence, "permissions": { "blockReadsOutsideWorkingDirectories": true } keeps every file read inside your working folders.
Privacy levels
SYNTIC_PRIVACY | Effect |
|---|---|
standard (default) | Everything in the table above. |
essential | Stops the optional background calls: update check, warm-up, usage refresh, marketplace refresh, and usage export. Same as SYNTIC_DISABLE_NONESSENTIAL_TRAFFIC=1. |
disabled | The same, and also skips fetching managed settings and stops marketplace refreshes you forced. Same as SYNTIC_OFFLINE=1. |
Requests to the model, the model list, and anything you start yourself are never blocked by these levels. syntic doctor shows the active level on its Network line.
Opting out of telemetry with SYNTIC_TELEMETRY=0 (or off, false, no), or with the cross-tool convention DO_NOT_TRACK=1, also moves you to at least the essential level. So does DISABLE_AUTOUPDATER=1.
To apply a level to a whole team, set the variable in the environment you deploy (for example a shell profile your device management installs).
What is kept on your computer
| Data | Where | Who can read it |
|---|---|---|
| Session transcripts | Your system’s application data folder, one folder per project (on macOS, ~/Library/Application Support/ai.syntic.syntic/projects/). Move it with SYNTIC_DATA_DIR. | Your user account only |
| Sign-in credentials | ~/.syntic/credentials.json | Your user account only |
| File backups for rewind | ~/.syntic/file-history/ | Your user account |
Prompt history for ↑ | ~/.syntic/history.jsonl | Your user account |
| Debug logs | ~/.syntic/logs/ | Your user account |
| Folder trust and MCP approvals | ~/.syntic/trusted_folders, ~/.syntic/mcp_approvals.json | Your user account |
| Service-delivered managed settings | ~/.syntic/remote-managed-settings.json | Your user account |
Nothing here is uploaded unless you share it yourself.
How long it is kept
By default, nothing is deleted automatically. To clean up old transcripts, set a number of days:
{ "cleanupPeriodDays": 30 }With it set, saved sessions you have not touched for longer than that are removed, in every project, together with old logs, pasted content and scratch folders. The cleanup:
- runs in the background shortly after start, at most once a day,
- never removes the session you are resuming,
- does nothing at all if the value is not a whole number of at least 1. A
0is reported as an error rather than taken to mean “delete everything” or “keep forever”.
Keep less, or remove it
| To | Use |
|---|---|
| Save nothing for one run | syntic --no-session-persistence |
Keep prompts out of ↑ history | SYNTIC_SKIP_PROMPT_HISTORY=1 |
| Remove everything stored about one project (sessions, MCP approvals, folder trust) | syntic project purge [path] (--dry-run to preview) |
| Sign out and delete stored credentials | syntic auth logout |
Usage data you can export
Syntic Code can send usage events and metrics (prompts sent, tool decisions, token counts, cost) to monitoring tools you run, using OpenTelemetry. It is off unless you turn it on, it only works at the standard privacy level, and prompt text and tool arguments are left out unless you opt in. Setup is on Monitor usage.
Proxies and certificates
Proxy settings, custom certificate authorities, client certificates, and the list of hosts Syntic Code contacts are on Network configuration.
For how the permission engine, folder trust and the sandbox keep data where it belongs, see Security.