Sample data. Every entry on this page is illustrative.

A ledger of what was tested, and what it proved.

Bravos records each test of a security claim as an entry: the GuardLink annotation that made the claim, the CXG test that ran, the verdict, the evidence, and the commit it ran against.

Below is that ledger for acme-shop, the fictional shop from our homepage story, where Maya and Alex chase an avatar upload that turns into stored XSS.

Three outcomes

Confirmed
The test reproduced the exploit against the running app. The risk is real at that commit.
Refuted
The test reached the app and the exploit did not work. That rules out one way in, not the threat itself, so it can be tested again from another angle.
Mitigated
A security control was seen rejecting the exploit. Stronger than refuted: the defence was observed working, not just the attack failing.
This is sample data.These entries were written to show the format. They are not real findings, customers or results, and the project, people, commits and runs are fictional.

Sample ledger entries

Showing 9 of 9 sample entries

Sample ledger, not real findings. acme-shop is a fictional project from our homepage story. Times are UTC on 23 September 2026.
EntryTimeOutcomeClaim testedCXG testSourceEvidence
Round 1 tested against ff09f3f, the annotated revision of main
L-001RefutedA crafted file name writes outside the uploads folder#path-traversal on #avatar-apihigh severity, CWE-22acme-avatar-path-traversalff09f3fsample run acme-shop-r1
L-002ConfirmedAny file type is accepted as an avatar#unrestricted-upload on #avatar-apihigh severity, CWE-434acme-avatar-html-uploadff09f3fsample run acme-shop-r1
L-003ConfirmedAn uploaded HTML file renders in the shop's own origin#stored-xss on #avatar-apihigh severity, CWE-79acme-avatar-html-uploadff09f3fsample run acme-shop-r1
L-004RefutedAn uploaded SVG runs script when it is viewed#svg-script on #avatar-apimedium severity, CWE-79acme-avatar-svg-uploadff09f3fsample run acme-shop-r1
L-005ConfirmedOne user's upload replaces another user's avatar#avatar-overwrite on #avatar-apimedium severity, CWE-73acme-avatar-name-collisionff09f3fsample run acme-shop-r1
Re-test replayed against e656a86, the fix on fix/avatar-validation
L-006MitigatedAny file type is accepted as an avatar#unrestricted-upload on #avatar-apihigh severity, CWE-434acme-avatar-html-uploade656a86sample replay acme-shop-r2
L-007RefutedAn uploaded HTML file renders in the shop's own origin#stored-xss on #avatar-apihigh severity, CWE-79acme-avatar-html-uploade656a86sample replay acme-shop-r2
L-008MitigatedOne user's upload replaces another user's avatar#avatar-overwrite on #avatar-apimedium severity, CWE-73acme-avatar-name-collisione656a86sample replay acme-shop-r2
L-009RefutedA very large upload is buffered whole and slows the server#resource-exhaustion on #avatar-apimedium severity, CWE-400acme-avatar-oversizee656a86sample replay acme-shop-r2

After the re-test at e656a86, this sample has no open exposures on #avatar-api. The next change starts a new round.

Want this ledger for your own code?

Bravos Free keeps a ledger from your first run, with no account. Buy a licence per developer, or seats for your team, to run it on every pull request. Every entry it records links back to the annotation, the test and the commit.