If you audit client sites under NDA, where the data lives isn't a footnote — it's the whole deal. Crawl Cove is built local-first: your client data, crawl results, and access tokens stay on your own computer, every secret is encrypted, and nothing is uploaded to a SaaS backend. There isn't one to upload to. This page is the answer you can give a security-conscious client in one read.
Everything lives on your machine
Crawl Cove is a desktop application. On first launch it creates two things, both local to your computer:
- A SQLite database at
<userData>/crawlcove.db— every client, crawl run, page, finding, task, keyword, and report. - An encrypted secrets folder at
<userData>/secrets/— separate from the database, holding only your credentials.
There is no vendor account that mirrors this, no cloud sync, and no telemetry pipeline shipping your crawl data off-device. The product's positioning isn't "we keep your data safe in our cloud" — it's "your data never goes to a cloud in the first place."
Note
The privacy guarantee, in one place: client data and crawl results stay in a local SQLite database on your machine. Secrets live encrypted in a separate folder — never in the database, never sent to the screen, never logged. Nothing is uploaded to a SaaS backend. The optional AI layer is interpretation-only and can be switched off entirely or run fully locally. You can export or back up everything at any time.
Secrets never leave the safe
Crawl Cove holds several credentials over time — Google OAuth tokens, the Chrome UX Report (CrUX) key, the Bing Webmaster Tools key, the Open PageRank key, and an Anthropic key if you choose that LLM backend. Every one of them is governed by a single strict rule.
Each secret lives only in <userData>/secrets/*.bin, encrypted via the
operating system's keychain through Electron's safeStorage. From there, no
secret is ever:
- written to the SQLite database — the DB and the secrets store are deliberately separate;
- returned across the IPC bridge to the app's interface — the renderer only
ever sees a
configuredboolean, never the value itself; - rendered back into any field on screen; or
- logged anywhere.
That last point extends to the diagnostics layer. The Activity Log captures crawl events, tool calls, LLM requests, and errors with full context so you can debug routing or extraction — but secrets, query text, and robots.txt bodies are never written to it. The evidence you need is on screen; the things that shouldn't be recorded aren't.
Tip
This is why connecting an integration only ever shows a green "configured" state rather than echoing your key back to you. If a value never returns to the interface, it can't leak through a screenshot, a screen-share, or a log file.
The AI layer is optional — and can be fully local
Crawl Cove's findings are deterministic and never involve an LLM. The optional AI layer exists only to explain findings in plain English and draft report summaries — interpretation, never detection. You control it completely:
- Off (
none) — the default. The app works fully without any LLM, falling back to deterministic templates. No text ever leaves your machine for interpretation. - Local (Ollama) — run a model on your own hardware via
http://localhost:11434. Free, no key, and nothing crosses the network. - Cloud (Anthropic) — only if you opt in and paste a key; that key is held under the same encrypted-secret discipline as every other credential.
So even the "smart" part of the product can be configured to keep every byte on-device. See Configuring the LLM backend for the setup.
Your data is yours to take out
Local-first also means portable. You can export or back up everything whenever you like:
- Back up database (Settings) writes a consistent snapshot of the entire
SQLite file to a folder you choose. It flushes the write-ahead log first, so
it's safe to run while the app is open. Note that encrypted secrets are
deliberately not included in a DB backup — by design, they never leave
safeStorage. - Findings and Keywords CSV exports (Reports) feed your data into a spreadsheet or another tool. Both open a native save dialog where the app owns the file path, and the row content is never logged.
- White-label PDF reports are the client-facing export.
Full walkthrough in Exporting your data.
There's no lock-in and no hostage data. The app is the convenient front end to a database that sits on your disk and answers to you.
Ready to give clients an audit you can stand behind — privately? See plans and get Crawl Cove →
Next
- Exporting your data — CSV exports and full database backups.
- Configuring the LLM backend — turn the AI off, run it locally, or use a cloud key.