Guide contents

Sync & privacy: where your code and transcripts go

Merget commits the prompts and transcripts behind your code, and it syncs by default. That makes "where does my data go?" the most important question in this guide, so this page answers it completely: what leaves your machine, what stays, who can see what, and which controls actually exist.

The short version: your code, your prompts, and your agent transcripts are sent to Merget's servers as part of normal operation. Repositories are private by default, but private means "other users can't see it," not "it never leaves your machine."

What is transmitted

When you use Merget normally (signed in, repo registered), these leave your machine:

  • Your source code. File contents and directory structure are synced to your configured remotes: not just metadata about changes, but the actual file contents.
  • Prompt text and agent transcripts. The prompts you type, the tools your agent runs, and the diffs they produce. Merget does not record your agent's written replies for most agents (Claude Code, Codex, Copilot); some agents, such as Cursor, do emit their responses, which are then captured.
  • Diffs of your changes, sent to Merget's processing service while history is being committed (see "Third-party AI processing" below for why).
  • Token and cost statistics from your agent sessions.
  • Repository and author identity: repo name, namespace, and your account identity on every step you or your agent create.
Under the hood

There are two distinct paths out of your machine:

  1. Sync to remotes - file contents and history objects push to every remote the repo has configured. This is the "version control" path.
  2. AI processing - Merget's historian runs locally and organizes your raw activity into goals, prompts, and steps, but it can't do that on its own: it sends your prompt text and diffs to Merget's processing service, which uses third-party AI providers to do the organizing. That's a single network call (see "Third-party AI processing" below), and it happens during committing, before any push.

What stays local

  • The repository's object store and history live in the .merget/ folder inside your repo; you always have a complete local copy.
  • Bookmarks, your working files, and your editor state.
  • App preferences (theme, layout, launcher choice) on each machine.
  • Files matched by your ignore rules are never stored or synced; see Excluding files. (Ignore rules apply to files; they do not redact things you or your agent typed during a session.)

Going local-only

There is no fully offline mode in Merget today: sign-in is required before anything commits, and committing itself involves Merget's processing service. What you can control:

  • Don't configure a remote. A repo with no remotes does not push your code or history anywhere as part of sync.
  • Keep repos private (the default). Visibility controls which users can see a repo; it is not an opt-out of syncing.
  • Auto-track consent. Merget asks before it starts auto-tracking your coding sessions; you can decline or turn it off later in Settings.
  • Data-use opt-out (per repo, in repo settings). This tells Merget not to reuse that repo's committed data for Merget's own purposes; see the next callout for exactly what it does and doesn't do.
  • Pause or remove committing entirely; see Disabling and uninstalling.
Under the hood: what the data-use opt-out actually does

This opt-out controls only how Merget itself reuses your data, not what the third-party AI providers receive. With it on, your repo's committed steps are routed into a restricted internal collection, segregated from Merget's own reuse and analytics. It does not change what is sent to the third-party AI providers that power history processing, and it does not attach any "do not train" instruction to those provider calls. Don't read it as a provider-level guarantee; it isn't one.

In transit

Traffic between the app and Merget's servers uses HTTPS, with certificate validation against your operating system's trust store.

At rest

Data stored on Merget's servers is not encrypted at the application level. We don't claim end-to-end encryption, and you should not assume it. Treat anything synced to Merget the way you'd treat code pushed to any hosted service: protected by access controls, readable by the service itself.

Who can read it

  • Private repos (the default): you, the collaborators you add, and members of the owning organization according to their roles.
  • Public repos: anyone, including through the Explore page. Going public publishes your prompts and transcripts along with your code.
  • Merget operators can access stored data at rest in the course of running the service.

Retention & deletion

Deleting your account hard-deletes your personal repositories and the data in them, including for collaborators on those repos. Organizations you solely own are deleted with their repos; repos you merely collaborate on are untouched. A minimal account tombstone (with personal information scrubbed) is kept so your username isn't silently recycled.

Beyond deletion, Merget does not currently publish a defined retention period for committed data. If that matters for your situation, assume data persists until you delete it.

Third-party AI processing

The feature that makes Merget useful - organizing raw coding activity into goals and prompts, and answering questions in chat - is powered by third-party AI providers (models routed through services such as OpenRouter, including OpenAI and Google models). Your prompt text and diffs are part of what those providers process.

Merget does not currently attach zero-data-retention or "do not train" terms to those provider calls. We won't claim "your data is never used for training," because we can't verify that claim on your behalf.

Secrets accidentally captured

If you paste an API key into your agent's chat, or your agent reads a .env file aloud, that content can end up in a committed transcript. There is no automatic secret redaction in the committing pipeline.

  • Use ignore rules to keep secret files out of committed history; but remember they don't scrub transcripts.
  • If a secret has been captured and synced, rotate the secret. That's the only reliable remedy, on Merget or any other service.

Next: How Merget works | Related: Excluding files | Disabling and uninstalling | Settings