Skip to content

Privacy and data

CaudalGhost’s promise is simple and verifiable: your data stays on your machine. It watches, it never interferes. This page is the proof, in detail.

CaudalGhost logs network usage metadata, not the content of your communications:

  • Bytes transferred (down/up) per interface over time.
  • Bytes transferred per app.
  • Hostnames of the remote servers your apps talk to (grouped by root domain).

It does not capture packets, does not read traffic contents, and does not store full URLs or payloads. Just how much, when, which app, and toward which domain.

Attribution happens at capture time: every byte is tagged with its interface, app, and remote host as it happens, not guessed at afterward.

Everything is stored in a local SQLite database, at:

/var/lib/caudalghost/caudal.db

That’s a system directory owned by the caudalghost service user. None of this gets synced or uploaded anywhere.

History is stored in tiers: minute → hour → day, with each level rolling up the one before it. The daily tier is kept long-term, with no expiration date.

Let’s be honest about what that means: there’s no automatic pruning today. The database grows over time — slowly, since it’s metadata and not content, but it grows nonetheless. If you’ve got disk space to spare, there’s nothing you need to do; if the size on disk matters to you, it’s on you to keep an eye on it and, if you want, trim it by hand (see below).

To keep the list of remote hosts from growing unbounded, each app keeps only its top 50 hosts by traffic, with the rest rolled up under “(other)” — that way the detail view doesn’t grow forever on installs with a lot of outbound traffic. Apps and interfaces, on the other hand, have no cap: all of them get logged.

You can check the database’s actual size at any time with:

Ventana de terminal
sudo du -sh /var/lib/caudalghost

To start fresh while keeping the install in place, stop the daemon, delete the database, and start it back up:

Ventana de terminal
sudo systemctl stop caudalghostd
sudo rm -f /var/lib/caudalghost/caudal.db
sudo systemctl start caudalghostd

If you just want to free up space without uninstalling anything, this same command doubles as a “manual trim”: the daemon recreates an empty database on startup, and history starts over from that point.

To remove everything (package + data):

Ventana de terminal
sudo apt-get purge caudalghost # or caudalghost-server
sudo rm -rf /var/lib/caudalghost
  • The app has no telemetry. No analytics, no “phone home” calls, no identifiers.
  • Your network data never leaves your machine. There’s no CaudalGhost remote server to send it to, and no accounts to create.
  • The code is open and auditable (AGPL-3.0): you can verify this for yourself. See Contributing and license.