every step stays in France; the only crossing is the federated queue
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.
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.
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.