The product already says this. So does this page.
Where the two disagree, the product is right and this page is the defect.
Every report mend.rest produces carries a limits list, and that list is inside the facts object the fact_digest is taken over — so the disclosures below are not marketing copy that can quietly drift from the software. They are pinned strings in mend/report.py, reproduced here verbatim, and you can recompute the digest yourself (Verify) to confirm the copy you were handed is the copy that was signed for.
That is the whole method of this page: a privacy policy that says less than the product already admits would be a lie by omission. The paragraphs that follow are the ones most policies bury, put first.
1 · The four disclosures that govern everything below
Quoted exactly as the product prints them. Nothing on this page may contradict them.
From the limits of every report
verbatim2 · What is collected
Five things, and the list is meant to be exhaustive.
3 · Where a network address is, and is not, retained
Answered from the code rather than from intention. Including the part this page cannot answer.
The access log line
one line per requestRate limiting
three different answers4 · What is not done with it
Stated as either a checkable property or an operator commitment, and labelled as whichever it is.
5 · Operator access, stated honestly
This is the section a normal policy hides. It is not hidden here.
The host operator can read every tenant's state. Isolation is a per-tenant child process and an 0700 per-tenant directory — operating-system permissions, not cryptography. There is no at-rest encryption, and when something asks for it the vault refuses rather than pretending: at_rest_encryption: UNSUPPORTED, raised as Unsupported("at-rest encryption is unavailable in the local reference profile"). A simulated guarantee would be worse than none, which is why you are reading this instead of a padlock icon.
Independent adversarial review did not break cross-tenant separation. That is evidence, and it is not a proof, and the product says so in the same breath every time it says the first half.
What is true alongside it
not a consolation, a constraint6 · Retention and deletion
What mend.deletion removes, what it deliberately keeps, and the clocks that run on their own.
mend.deletion
confirm=true, then a receiptDeletion purges the private material of a task: the report, the commission, the intake, the execution claim, the repair text and repair node, the acknowledgement, the choice receipt, the runtime observations, the effects, the interventions, the candidate, the independent verification, the appraisal, the proof receipt digest, the publication, and the workspace hashes. The stored content is removed from the vault in the same act.
What comes back is a mend.deletion-receipt/1 with complete: true, the owners that acted, the workstream it released, and a digest over its own sealed body — and one limitation, quoted here exactly as the receipt states it:
Clocks that run without you
defaults; the operator can set each one7 · Third parties
Named in prose and never linked from here, because this site loads nothing from anyone.
8 · Report sharing is opt-in, and only opt-in
Nothing is transmitted by the product. Ever. Sharing is an act you perform.
Every report carries one sentence about sharing, in its presentation block rather than its facts, and here it is verbatim: “Sharing this report is optional and nothing is sent unless you do it yourself: paste it at https://mend.rest/share if you would like it to help improve the product.”
That is the whole sharing mechanism. Automatic collection is refused, and the share endpoint has no way to obtain a report other than being handed one — consent here is not a promise made on a page, it is a property of the endpoint.
9 · What you can do
Each of these is a method with a receipt, not a support request.
- It is documentation, at documentation level. The authoritative statements are the code and the tests in the repository, and where this page and the repository disagree, the repository is right and this page is a bug.
- It has not been reviewed by a lawyer and does not claim to satisfy any specific statutory regime. It is a starting draft written to be accurate rather than to be defensible.
- It cannot speak for the edge provider. Cloudflare's own connection records are governed by Cloudflare's policy, not this one.
- It cannot speak for host log retention. The single access line this service writes goes to standard error and is captured by the container runtime; how long the host keeps that is operator configuration, and this page does not guess at it.
- The no-training and no-sale statements are commitments, not verifiable properties. They are marked amber above for exactly that reason.
- Jurisdiction, legal entity and a formal data-controller identity are unfilled. See Terms for the placeholders the owner still has to supply.