Indelible · measured from the gate's own ledgers · published July 15, 2026

The Trust Receipts

When memory is permanent, a remembered secret can never be deleted. This is the 73-day record of the automated gate that stands at the last moment prevention is possible: the volume decomposed to its actual sources, every gap in our own record disclosed in our own ink. Siblings: the energy receipts · the team receipts.

5,741
save attempts caught carrying credentials over 73 days (all hard-blocked once enforcement was on)
20
distinct file sources; 19 were one-time near-misses, caught once and gone
99.3%
of findings were wallet private keys, the un-rotatable class
28.65M
secrets leaked on public GitHub in 2025, where no gate exists (GitGuardian)

How to read this

The counts come from the gate's own append-only verdict ledgers, measured by scripts with a safe-field whitelist: no secret material, message bodies, previews, or content values were ever read into any output. Raw block counts are inflated by auto-save retries of stuck payloads, so rather than lean on a headline number the study decomposes the volume to its actual sources (deduplicated by the content-hash fingerprint the ledger records). The study states plainly where the record has gaps: the ledgers begin May 4, 32 percent of rejects were observe-mode before enforcement flipped on June 17, one scanner blind spot was found by our own review in June and closed the same day with a test, and the chronic file that dominates the raw counts is a likely false positive. Honest numbers survive hostile review; that is the whole method.

The full study

THE NEAR-MISS STUDY

How often does an AI working session try to memorize a secret, and what does it take to stop that when memory is permanent?

Indelible receipts series · trust leg · siblings: indelible.one/energy (the cost of forgetting) · indelible.one/team (the yield of remembering). Rebuilt 2026-07-16 from a fresh recount of the gate's own ledgers, deduplicated by the content-hash fingerprint the ledger records (an earlier draft used a looser proxy; this version supersedes it).


1. The Question

Indelible stores AI working sessions encrypted, permanently, on the BSV blockchain. Permanence is the product, and permanence is also the hazard. A private key, an API token, or a wallet seed etched into an immutable chain can never be deleted, redacted, or expired by anyone. The only remedy left afterward is rotating the secret itself. So the moment before broadcast is the last moment prevention is possible.

This study measures the real ledgers of the automated gate that stands at that moment: how often working sessions carried credentials toward permanent storage, what got blocked, where the volume actually came from, and what the honest limits of the record are.

2. The Gate

The Witness is a pre-broadcast security review that inspects every save before it can be written to chain. Today it is the second layer of a two-layer design. Layer 1, redact: a regex scrubber (Anthropic, OpenAI, AWS, WIF, GitHub, Telegram, PEM patterns, with Base58Check validation to reject wallet-key false positives) strips credential-shaped strings from every session sink before encryption, so a credential-bearing session saves clean instead of stalling. Layer 2, block: the Witness re-scans the payload as the fail-safe; if the scrubber ever misses a sink, the gate hard-blocks the save. The pair is designed so its worst failure mode is a stalled save, never an etched plaintext key. The scrub layer was completed in late June; the timeline in section 4 is exact about what the gate did and did not do before that. Every verdict is appended to a local ledger, which is the raw material of this study. The gate rule itself was born from a real near-miss: on 2026-05-02 an Anthropic API key reached a save payload through a tool-result dump and was caught manually; the content-scan rule shipped the next day, and the ledger begins the day after that.

3. The Data

  • Source: the gate's own append-only verdict ledgers on the operator's machine, measured by scripts with a safe-field whitelist. No secret material, message bodies, previews, or content values were ever read into any output; credential type labels come from the scanner's own finding code (for example "bsv_wif detected in file content"), not from the secret.
  • Lifetime span: first verdict 2026-05-04, snapshot 2026-07-16, 73 days (~10.4 weeks). The ledgers do not reach back to February; this study claims nothing about the period before May 4.
  • Total save verdicts: roughly 14,300 (about 8,600 approvals, logged only in verbose mode, plus the rejects below).
  • Reject lines: 5,744, of which 3 were structural-only (empty summary, oversize) and 5,741 carried credential findings, containing 15,733 raw credential findings.

4. Results

The type of thing being caught (measured, per finding)

Of 15,733 raw credential findings, 15,618 (99.3 percent) are BSV wallet private keys. Telegram bot tokens account for 105, Anthropic API keys for 10. No other scanner type ever fired. This matters because a wallet key is precisely the credential class where an immutable leak is unrecoverable: you cannot rotate the coins, only try to move them before someone else does.

Where the volume actually comes from (the honest decomposition)

Raw block counts are the wrong headline, and rather than bury that we decompose it to the source. The 5,741 credential rejects break into two populations:

PopulationRejectsDistinct sourcesWhat it is
File saves3,43020 distinct file paths19 of them were blocked exactly once: clean, one-time near-misses, each caught and gone. The 20th is a single chronic file blocked 3,411 times across 68 days.
Session saves2,3111 stuck conditionthe documented June stall (Jun 16 to 25): a session save that could not complete, re-blocked on every auto-save retry.

So the genuinely distinct signal over 73 days is 19 one-time file near-misses plus one chronic file plus one stall incident. The other roughly 5,700 rejects are those same two chronic conditions counted again on every retry. We do not claim thousands of distinct secrets, and we do not claim a tidy small number either; the ledger fingerprints the payload, not the secret inside it, so the honest unit is distinct sources, and there are about twenty.

Enforcement posture (what "blocked" actually meant, and when)

  • May 5 to Jun 15, observe mode: verdicts were logged, but flagged saves still proceeded to encrypted broadcast. 1,832 of 5,741 credential rejects (31.9 percent) were logged-only, not blocked. This study does not claim those were prevented writes.
  • Jun 16 to 17, the flip. From Jun 17 onward, every credential reject hard-blocks. 3,909 rejects (68.1 percent) were hard blocks.
  • The bypass switch: 0 uses, ever, across all 5,741 rejects.
  • Jun 25, the cure. The redact-on-save layer shipped, the fix for the stall era: credential-bearing sessions now save scrubbed instead of stalling. Result: zero session credential rejects in all of July.

The one gap we found ourselves

On 2026-06-25 our own adversarial review of the continuity fix (workflow continuity-fix-verify) found a scanner blind spot: a wallet key placed in a session's structured_context.todos field was not covered by either layer. It was closed the same day, in the same change, with a regression test that now asserts a WIF in that field cannot reach chain (redact-session.test.mjs, the test named "MF-1"). This was a coverage gap caught in review and fixed before release, not a live broadcast. We surface it because a detector can only witness the sinks it scans, and showing the blind spot we found is more honest than claiming there were none.

5. The Outside World

Where no gate stands, the record is grim, and verified at the primary source (GitGuardian, State of Secrets Sprawl 2026, published March 2026):

  • 28.65 million new hardcoded secrets were added to public GitHub in 2025, a 34 percent year-over-year increase, the largest single-year jump GitGuardian has recorded.
  • AI is fueling it: 1,275,105 AI-service credential leaks in 2025, up 81 percent; AI-assisted commits leak secrets at roughly twice the baseline rate; and 24,008 unique secrets were found exposed in MCP agent configuration files, the exact config class this kind of gate polices.
  • The leaks mostly stay live: 64 percent of secrets found valid in 2022 were still not revoked as of 2026.

6. Honest Caveats

  1. Self-audit, not independent audit. These are the gate's own ledgers, read by the operator's own scripts. Nothing here has been reviewed by an outside party.
  2. A detector only sees what it scans. MF-1 proves a blind sink existed until it was found. We can claim zero flagged saves passed since enforcement, zero known plaintext credentials on chain, and that every payload is encrypted with an owner-wrapped key before broadcast. We cannot claim provable-zero-absolute.
  3. Flagged is not confirmed. The chronic file that dominates the raw counts (3,411 of 5,741 rejects, one path, 68 days) is a strong false-positive candidate: a working document or config whose content matches the wallet-key pattern would trip the scanner on every save. That it recurs for 68 days is an operational item on the operator's own machine, not 3,411 distinct dangers. It is being identified and cleaned or allow-listed.
  4. The dedupe unit is the source, not the secret. The ledger records a content hash of the whole payload, not a fingerprint of the matched secret, so "20 distinct file paths" is the honest unit; a single path could carry the same key across many edits, or different keys. We do not convert it to a secret count.
  5. Observe-era near-misses were not stops. During May 5 to Jun 15, flagged saves proceeded (encrypted). "Caught" meant "logged" then, and "hard-blocked" only from Jun 17.
  6. n = 1. One power user's heavy, wallet-adjacent, production-operating admin workload. Rates here should not be extrapolated to a customer population.
  7. Live-append ledgers, single snapshot. All figures are one snapshot (2026-07-16) and shift slightly on re-run. Approvals are a lower bound (verbose-mode logging only). Any outside figure that could not be verified at its primary source was excluded.

7. The Defensible Claim

Over 73 measured days, an automated gate caught 5,741 save attempts that carried credentials toward permanent, immutable storage. 99.3 percent of what it caught were wallet private keys, the one credential class an immutable leak can never take back. Decomposed honestly, the volume is dominated by two recurring conditions, a single chronic file and one stalled session, with 19 further one-time near-misses from distinct files; the gate hard-blocked once enforcement began, its bypass has never been used, no known plaintext credential has ever reached the chain, and the one scanner blind spot in the record is one our own review found and closed with a test. In the outside world, where no such gate stands, the same class of mistake put 28.65 million secrets on public GitHub last year, up 34 percent, most of which will never be rotated. When memory is permanent, the only good remediation number is the one this ledger shows: caught at the door, before it could be remembered.


Every number traces to a fresh script recount of the reject ledger (reconciliation, hash dedupe, type split, enforcement posture) and to primary-source verification of the GitGuardian 2026 figures. Raw counts are decomposed to distinct sources rather than reported as distinct secrets; estimates and false-positive suspicion are labeled; the June stall and the chronic file, together roughly 99 percent of raw volume, are broken out, not buried.