One crawl, end to end

every step stays in France; the only crossing is the federated queue

01

THEIRS

02

THEIRS

03

04

OURS

Scan requested

Job onto their queue

Federated across

Slots assigned

A user in their UI asks for a crawl; the data service records the job. The request is published to their broker — no HTTP call to us.

The job crosses the mTLS private link to our broker.

crawler-manager claims a slot in Redis and dispatches crawlers.

05

06

07

NET EFFECT

THEIRS

Six passes run

Verdicts published

Stored and shown

Crawlers fetch their public pages and run WCAG, Content, SEO, GEO, Security and Privacy.

Structured results — not rules — federate back to their broker.

Their data services write to MySQL and the object store; the UI updates.

Verdicts move, data doesn't

They hold every byte of customer data; we hold every line of analysis IP.

Why this holds up

If they leave

No shared secrets — the link authenticates with mTLS certificates, not API keys.

They export findings, evidence and remediation tracking from their own data services.

No API exposure — our analysis services answer no HTTP; the queue is the only door.

We stop publishing to their queue and the private link is decommissioned.

Outage resilient — if the link drops, both queues buffer until it recovers.

They keep every finding, screenshot, document and account – no data escrow needed.

Independent audit — both brokers log federation, reviewable on either side.

One exception — ai-facade calls OpenAI and may include page content; their DPO decides.

We retain the full analysis IP; no code was ever disclosed, so none is recovered.