Every security audit answers some version of the same question: can someone break in? Firewalls, vulnerability scans, penetration tests – all built around a single premise, that the danger is unauthorized access.
That premise misses something. An AI agent crawling your website doesn’t need to break in anywhere. It only needs what’s already public – and “public” is a much larger, much less examined surface than most organizations realize.
We didn’t arrive at this from theory. We built a tool to check it, ran it against our own site first, and the results changed how we think about the problem.
Two different questions
Traditional security tooling – the Cloudflares, the Palo Altos, the CrowdStrikes of the world – is built to stop perimeter breaches, zero-days, and unauthorized access. That’s essential work, and none of it is going away.
But it isn’t built to answer a different, quieter question:
If an AI agent legitimately crawled everything publicly accessible on your domain today, what confidential, proprietary, or strategically sensitive knowledge could it assemble?
| Traditional security | Knowledge exposure |
|---|---|
| Prevents unauthorized access | Audits authorized, public content |
| Monitors CVEs, firewalls, network state | Evaluates what an AI can reconstruct from what’s already visible |
| Asks: can someone break in? | Asks: what does the public footprint already give away? |
These are genuinely separate problem spaces. A crawler doesn’t need to breach a network to extract value – it needs a public endpoint, an unlinked staging path, a stray PDF, an exposed API route, or a piece of client-side JavaScript carrying more than it should. Standard vulnerability scanners aren’t looking for any of that, because none of it is a vulnerability in the conventional sense. It’s just… public.
Public is not the same as vulnerable
This is the part that’s easy to get wrong in either direction. Treat every public detail as a leak, and you end up with a report full of noise nobody acts on. Treat nothing as worth checking, and you miss the handful of things that genuinely shouldn’t be there.
The distinction that matters: deliberately published versus accidentally exposed, and especially, information with no legitimate reason to be served to an anonymous visitor. A published pricing page is intentional. A staging hostname referenced in a JavaScript bundle almost never is.
We built our own audit tool around exactly that test – and then, before offering it to anyone else, we ran it against ourselves.
What we found auditing our own site
The first run produced an unusually alarming report: a hardcoded password, admin panel contents, internal license-management emails. For about ten minutes, that looked like a serious problem.
It wasn’t a real finding. It was a bug in how we were testing – the crawler had inherited an active, logged-in browser session, so it wasn’t seeing the site the way an anonymous visitor or AI crawler would. It was seeing what we, personally, logged in, could see. Once we corrected the tool to crawl with no credentials at all – genuinely anonymous, exactly like a real AI agent would – the report changed substantially. Most of what looked alarming on the first pass simply vanished, because it was never actually public in the first place.
What was left, once the test was honest, was smaller and far more useful:
- A single genuine issue worth fixing: our site’s REST API was returning a full list of real user accounts at a fixed, predictable endpoint – a known WordPress default, not something we’d chosen deliberately. That’s exactly the kind of detail that removes a step from a credential-stuffing attempt. We locked it down.
- Deliberate information, correctly left alone: structured authorship data (schema.org markup identifying the author of each article) appeared dozens of times across the site. That’s not a leak – it’s standard, intentional SEO practice, published on purpose to establish authorship and expertise to search engines and AI systems alike. A good audit has to recognize that distinction instead of flagging it just because it’s there.
- Low-priority fingerprinting, worth knowing about, not worth panicking over: the specific theme and plugins running the site were identifiable from public asset paths – normal byproduct of how any CMS serves its files, and not something we’re rushing to fix, but useful to know is visible.
That mix – one real issue, several deliberate disclosures correctly left alone, a bit of low-priority fingerprinting – is what a properly calibrated audit should produce. Not a wall of red flags. A short, defensible list of things actually worth a decision.
Who this is for
This matters most for organizations where the public-facing footprint carries real strategic weight – not just reputational risk, but a competitive or operational one:
- Enterprises with proprietary methodology, pricing structure, or roadmap detail that could be reconstructed from published content, documentation, or client-side code.
- Government and institutional bodies, where an assembled knowledge leak carries consequences beyond any single document – policy exposure, personnel risk, or diplomatic sensitivity that a conventional penetration test was never scoped to catch.
- Growing SMEs whose public site has accumulated years of content, staging leftovers, and forgotten documents without anyone auditing what an outside reader – human or AI – could piece together from all of it at once.
How an engagement actually works
Findings of this kind are sensitive by nature, so how the audit is delivered matters as much as what it finds:
- Written scope and authorization – every engagement starts with a written request naming the exact domain in scope, name of the requestor and a request code. The audit never operates outside that boundary.
- Anonymous, credential-free crawling – exactly the lesson from our own first run: the audit has to see what a real anonymous visitor or AI agent sees, nothing more.
- Classification against a real taxonomy – findings are scored Critical, High, or Medium, with deliberately public information excluded entirely rather than padded into the report as noise.
- A structured, evidenced report – every finding shows the exact source, the detected value, why it was flagged, whether there’s any legitimate reason for it to be public, and a specific recommended action. Not a vague warning – an audit finding.
- Delivery and destruction – the report goes directly to the named recipient. Nothing collected during the engagement is retained afterward.
The bigger picture
We’ve written before about why data sovereignty is only one layer of the problem – that where your model runs isn’t the whole question. Knowledge exposure is the layer above that: whether your publicly exposed information lets an outside AI system reconstruct knowledge you never intended to package together in the first place. It sits alongside our AI Sovereignty Assessment Framework as part of the same underlying thesis.
It also runs in the opposite direction from our other tools. AI Visibility Inspector and NovaX exist to help AI systems find and understand an organization correctly – accurate, well-structured, citable. The Knowledge Exposure Audit is the inverse discipline: making sure AI systems don’t learn things that were never meant to be found at all. Visibility and exposure are two sides of the same relationship between your organization and the systems now reading it – most companies are actively managing one and have never looked at the other.
What Are You Exposing?
If you’re curious what an honest version of this audit would find on your own site, get in touch to discuss scope.