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.
What it stores
Section titled “What it stores”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.
Where your data lives
Section titled “Where your data lives”Everything is stored in a local SQLite database, at:
/var/lib/caudalghost/caudal.dbThat’s a system directory owned by the caudalghost service user. None of this gets synced or uploaded anywhere.
How much it grows
Section titled “How much it grows”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:
sudo du -sh /var/lib/caudalghostHow to delete or manage your data
Section titled “How to delete or manage your data”To start fresh while keeping the install in place, stop the daemon, delete the database, and start it back up:
sudo systemctl stop caudalghostdsudo rm -f /var/lib/caudalghost/caudal.dbsudo systemctl start caudalghostdIf 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):
sudo apt-get purge caudalghost # or caudalghost-serversudo rm -rf /var/lib/caudalghostWhat never gets transmitted
Section titled “What never gets transmitted”- 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.