Your data. Your rules.
Short version: the audit runs in your browser, keys are never stored, and it all works without us.
The detail, for the careful.
The browser is the working copy
Sites, runs, findings and drafts are produced in this browser and held in its local storage. That stays true with an account: signing in adds a copy on the server so the work follows you to another machine, it does not move the work off your machine. Without an account nothing of yours is on our side at all, and the audit still runs.
A model key is never stored. A connection is sealed.
A model key you add is held in your browser and sent with the one request that uses it. It is never logged, never cached, never written down. A connection you approve is different, because a token that renews itself is the only way work can happen while your browser is closed: those are envelope encrypted, a per-record data key sealed by the deployment master key, so the master key rotates without rewriting a single ciphertext and a stolen database row is useless on its own. No route in the product returns a stored secret in any form, including a masked one.
No password, and no session to steal from the database
Sign-in is Google or a one-time link by email, so there is no password here to leak or reuse. The session cookie holds a random value and the database holds only its hash, which means a copy of the database cannot be replayed as a login. Disconnecting a Google account hands the grant back to Google rather than only dropping our copy of it.
The crawler refuses more than it fetches
Loopback, private ranges, link-local, carrier-grade NAT, multicast, cloud metadata endpoints, internal hostname suffixes and non-standard ports are all blocked, and the check is repeated after every redirect rather than once at the start. robots.txt is honoured with the same longest-match rule a real crawler uses.
Cross-tenant reads return 404, not 403
In the server deployment, every scoped read goes through one function that filters by tenant. A forbidden read answers 404 on purpose: 403 confirms the row exists, and that is an information leak.
Email leaves your domain, never ours
On this site, outreach is drafted here and opens in your own mail client with the fields filled in, and you press send. On a server installation you can connect your own mail account instead, under a per-domain daily cap. A shared platform sending domain gets burned by somebody else's campaign and takes your deliverability with it.
Everything is traceable
Every run, every step, every generated artefact and every approval is recorded with who or what proposed it and who accepted it. You can open the trace behind any number on any screen.
Works without us. Really.
Disconnect everything, remove every key, and the audit still runs and still writes the fixes.
What needs what
| Capability | What it needs |
|---|---|
| Crawl, the full check catalogue, scoring | Nothing. No model, no data vendor, no key. |
| Generated fixes: titles, meta, schema, sitemap, robots, llms.txt, link plans, alt text | Nothing. All derived from your own pages. |
| Keyword model, content gaps, briefs, outlines, FAQ sets | Nothing. Derived with tf-idf over your own content. |
| Long-form drafting | Your own key, with whichever provider you choose. Anthropic, OpenAI, Google or any OpenAI-compatible endpoint, including one you host. |
| Real query data, rank tracking, backlink index | Your own Search Console, and optionally a data provider you pay directly. |
| Publishing | Your own CMS credentials, or a webhook you control. |
The test that matters: disconnect every account, remove every key, and the audit still runs end to end and still produces work. That is by design, and it is the difference between a platform and a wrapper.
Or host it yourself.
One repository, one Docker Compose file. Nothing in it phones home, and none of it needs an account with us.
git clone https://github.com/jishhnnuu/fullseoaeogeotool cd fullseoaeogeotool make install make keygen # your own encryption keys make demo # seed a tenant and audit a real site make docker # the whole stack with Postgres
Questions about your data?
Ask a specialist on a free call, or try the free check. Nothing to sign, and nothing of yours left behind.