Skip to main content
Repr is built on a Local-First architecture. This means your data lives on your machine by default, and you have complete control over when (and if) it leaves.

Data Boundaries

Data TypeLocal StorageCloud StorageCondition
Source CodeYes (in your repos)NeverRepr never uploads your code.
Commit DiffsYes (temporary analysis)Never*Only sent to LLM for processing, then discarded.
StoriesYes (~/.repr/stories)OptionalOnly if you run repr push.
ProfileYes (~/.repr/config)OptionalOnly if you run repr push.
API KeysYes (OS Keychain)NeverKeys never leave your device.
*If you use repr generate --cloud, diffs are sent to repr’s stateless processing pipeline. They are not stored. If you use --local, diffs never leave your machine.

Modes

1. Local-Only Mode

  • Network: Blocked.
  • LLM: Local (Ollama) only.
  • Sync: Disabled.

2. BYOK (Bring Your Own Key) Mode

  • Network: Only to your LLM provider (e.g., api.openai.com).
  • LLM: Your API key.
  • Sync: Disabled (unless you login).

3. Cloud Mode

  • Network: Connected to repr.dev.
  • LLM: Managed by repr.
  • Sync: Enabled.

Auditing

You can see a log of every network request repr has made to the cloud:
repr privacy audit