Your tasks run sealed. Here is exactly how.
How we isolate the tasks you send, every company that processes them, and how we delete them. Your security team gets the full control list on request. Last updated October 15, 2026.
Every run is sealed
- A fresh container for every run. Each task runs through its own grader, unchanged, and nothing carries over from one run to the next.
- Network off. Containers start with no network at all, so code under test cannot reach the internet or our other systems.
- Least privilege. All Linux capabilities are dropped and privilege escalation is blocked; every container has memory, CPU and process limits. Where a task’s own verifier needs a capability back (for example, to start its own service), it is added for that task only and recorded in the run manifest.
- Network only where a task cannot work without it. Some agent environments need one. Those runs use a separate opt-in mode whose only way out is a logging proxy; they are labelled in the manifest and never pooled with sealed results.
- A record of every run. Each run writes a manifest of the code and method version, container settings, image digests and the models used in each role. Every finding carries SHA-256 hashes of its run logs and a replay script that needs only bash and Docker, so you can check our work without trusting our code.
Who processes your tasks
We name every company that touches your tasks, and you approve the model providers in your order form. Leave any provider out and we do; the report says so.
| Company | What it does | What it sees | Where |
|---|---|---|---|
| AnthropicClaude API | Writes candidate wrong fixes, behavioral checks, scope votes and reviews | Task text and code, if you approve Anthropic | Anthropic’s API, over HTTPS |
| AnthropicClaude Code | Operates our audit server (Anthropic’s coding agent) | Task files the agent reads while your tasks are on our server, even if you leave Anthropic out as an audit model | Anthropic’s API, over HTTPS |
| OpenAIAPI | Second attacker model; scope vote; review panel | Task text and code, if you approve OpenAI | OpenAI’s API, over HTTPS |
| GoogleGemini, through Google Cloud Vertex AI | Scope vote; review panel | Task text and code, if you approve Google | Vertex AI, global endpoint |
| HetznerDedicated server | Hosts the server that runs audits | Everything stored on our audit server | Germany |
| Independent reviewerNamed per engagement | On every client audit, reviews a sample of findings before results go out | A sample of findings, under a written confidentiality agreement that bars uploading them to online AI services | Named in your agreement |
| Vercel, Resend, Google Workspace, CalendlyBusiness tools | Website and contact form; email; call booking | Correspondence and bookings; task material only if you email it to us | See our privacy page |
Never used for training. Your tasks are used only for your audit and never to train AI models. Each model provider’s current API data terms (retention and training) come with our data processing addendum, on request.
Findings are produced and checked by automated search and AI models. Where a person has reviewed findings, the report says so.
Run it in your own environment
If your tasks must not leave your network, we run the audit on machines you control. Our engine ships as a container image. You list every model endpoint it may call in one file. In strict mode it refuses any other model address before a request is sent, and a guard fails the run if any code in the engine tries to reach an unlisted host. The engine sends nothing to us: no telemetry, licence check or update check. A lab-check command lets your team watch each probe get blocked before a run.
Measured October 12, 2026, on 5 public tasks with a simulated lab network on our own server: all 55 connections the engine opened went to the one approved model endpoint, none went anywhere else, and every earlier finding on those tasks reproduced (12 of 12). Routes to Claude on Amazon Bedrock and Google Vertex AI, and to models you serve yourself, are built and covered by offline tests. None has made a live call yet. The engine has not yet run inside a client’s own cloud.
Your data stays yours
- Never published. We never publish or share your tasks or your results without your written approval.
- Used only for your audit. We use your tasks only to run the work you asked for, and never to train AI models.
- Who can access it. On our audit server: our founder and the AI agents he runs there. Your task material stays out of our code repository unless you agree in writing, and API keys are kept out of code.
- Kept only as long as agreed. We keep run records so any finding can be re-checked: for the period in your agreement, or 30 days after you accept the results if you have no policy of your own.
- Deleted by a scripted, verified procedure. At the end of that period, or within 10 business days of your request, our deletion tool records every file’s name and SHA-256 hash, deletes exactly those files and checks that nothing remains. We also remove the Docker containers and images used for your engagement, then send you a deletion certificate.
- Your NDA. We are glad to sign yours before you send anything.
The website
The site is served only over HTTPS with HSTS, and its content security policy blocks every third-party script, font and style. Form entries are stored privately and can be read only with a long access key, checked in constant time. Details are on the privacy page.
For your security review
Our security addendum lists every control and its current status. On request we send it with our master services agreement, data processing addendum (with the full sub-processor list), mutual NDA, and a completed security questionnaire: yours, or a standard one (SIG Lite or CAIQ). We do not hold a SOC 2 or ISO 27001 report. Email shane@plumblinegrader.com.
Report a vulnerability
Found a security problem in our site or our tools, or think your data was mishandled? Email shane@plumblinegrader.com with what you found and how to reproduce it. We reply within one business day. Please do not access other people’s data, degrade the service, or make the problem public before we have fixed it. If a problem affects your data, we tell you promptly and say what we are doing about it.
We hold ourselves to the same standard. When we find a grader that pays for wrong work in a public task set, we tell its maintainers privately first, with the evidence and a tested fix, at least 30 days before any public discussion.