Impact ledger

Every decision and its outcome, in order. Each entry carries a SHA-256 hash of the entry before it, so changing any past entry breaks the chain. This page checks the chain each time it loads.

Synthetic data — no Blackbaud, donor or card data is used.
How the chain works

Each entry’s fields are written in a fixed order. Its hash is SHA-256 of the previous entry’s hash, a line break, and those fields. The first entry starts from 64 zeros. The server hashes the backtest with node:crypto; your browser re-checks it, and hashes its own decisions, with Web Crypto.

Decisions this session

Plans a person approved or rejected in the console. Kept in this browser only.

Verifying chain…

Reading this browser’s ledger…

Backtest ledger · smart policy

Every simulated failed gift in the twelve-month backtest (35,992 entries, seed 20260929), the action the policy took and what happened. Recovered total reconciles with the backtest dashboard ✓ ($1,035,410).

Verifying chain…

Entries

35,992

one per failed gift

Recovered

$1,035,410

21,437 gifts · 59.2% of $1.75M failed

Attempts

50,404

1.40 per failed gift

Attempt fees

$5,040.40

at $0.10 per authorisation attempt

Do-not-retry violations

0

No retries on do-not-retry codes or past the cap ✓

Backtest ledger entries 8101 to 8150 of 35992
#GiftOrganisationDeclineActionAttemptsOutcomeRecoveredFeesHash
8101FG-18331Sep 26Harbor Light33Expired cardCard updater, then retry1Recovered$70$0.10ae58f8fa…89bd
8102FG-18332Apr 26Harbor Light59Suspected fraudDonor outreach0Stopped—$0.00ffae0a8d…50f0
8103FG-18333Sep 26Harbor Light51Insufficient fundsRetry schedule1Recovered$30$0.10b566ca3d…f75e
8104FG-18334Nov 25Northgate51Insufficient fundsRetry schedule3Not recovered—$0.30079bb997…eb32
8105FG-18335Nov 25Riverbend41Lost or stolenDonor outreach1Recovered$10$0.10651d4c56…7221
8106FG-18336Jan 26Riverbend43Lost or stolenDonor outreach1Recovered$10$0.10d23127e4…9c8e
8107FG-18337Jun 26Riverbend51Insufficient fundsRetry schedule3Stopped—$0.30126fc2ef…c461
8108FG-18338Sep 26Cedar Valley05Do not honorRetry schedule2Recovered$25$0.20869e32e5…db73
8109FG-18339Oct 25Northgate65Insufficient fundsRetry schedule3Stopped—$0.307a094d11…9f91
8110FG-18340Feb 26Northgate54Expired cardCard updater, then retry1Recovered$35$0.102885e746…2e54
8111FG-18341Nov 25Riverbend51Insufficient fundsRetry schedule2Recovered$25$0.20ca03580b…1d3a
8112FG-18342Nov 25Harbor Light51Insufficient fundsRetry schedule2Recovered$5$0.20a2718739…3f1b
8113FG-18343Nov 25Lumen Arts54Expired cardCard updater, then retry1Not recovered—$0.1027007a69…9b31
8114FG-18344Feb 26Riverbend54Expired cardDonor outreach0Stopped—$0.00895da2f7…1019
8115FG-18345Apr 26Riverbend54Expired cardDonor outreach1Recovered$35$0.10a15a0c66…96a4
8116FG-18346Jun 26Riverbend15Invalid cardDonor outreach0Stopped—$0.00a8f5c345…bbf4
8117FG-18347Apr 26Harbor Light62Account closedDonor outreach1Recovered$60$0.10eca324be…80b1
8118FG-18348Nov 25Cedar Valley62Account closedDonor outreach0Stopped—$0.00b3024fc4…ae8a
8119FG-18349Dec 25Harbor Light51Insufficient fundsRetry schedule3Recovered$30$0.302b8d2c3f…7eba
8120FG-18350Jan 26Lumen Arts51Insufficient fundsRetry schedule2Recovered$30$0.2076b6769b…37bd
8121FG-18351Nov 25Riverbend61Insufficient fundsRetry schedule3Not recovered—$0.30f8396bc2…f9db
8122FG-18352Jun 26Riverbend51Insufficient fundsRetry schedule3Not recovered—$0.303f7386b3…595c
8123FG-18353Nov 25Harbor Light51Insufficient fundsRetry schedule2Recovered$45$0.204937a44b…76de
8124FG-18354Jun 26Harbor Light15Invalid cardDonor outreach0Stopped—$0.00d0221ffc…b4ec
8125FG-18355Jul 26Harbor Light46Account closedDonor outreach1Recovered$35$0.101499b830…9258
8126FG-18356Aug 26Harbor Light54Expired cardCard updater, then retry1Recovered$35$0.10b87efedb…8edc
8127FG-18357Sep 26Harbor Light05Do not honorRetry schedule3Stopped—$0.300b60dc98…530c
8128FG-18358Dec 25Riverbend33Expired cardDonor outreach0Stopped—$0.0050f0a944…e2df
8129FG-18359Jul 26Lumen Arts61Insufficient fundsRetry schedule3Stopped—$0.30264351e8…f59b
8130FG-18360Nov 25Riverbend51Insufficient fundsRetry schedule1Recovered$20$0.10100290ca…3e06
8131FG-18361Aug 26Riverbend05Do not honorRetry schedule2Recovered$20$0.20a8986851…bfeb
8132FG-18362Oct 25Harbor Light05Do not honorRetry schedule1Recovered$70$0.103c36664a…5ee8
8133FG-18363Apr 26Riverbend63Suspected fraudDonor outreach1Not recovered—$0.106526be0b…b93b
8134FG-18364Jul 26Northgate61Insufficient fundsRetry schedule1Stopped—$0.10c8fc5507…b60a
8135FG-18365Aug 26Northgate54Expired cardDonor outreach0Stopped—$0.003152e411…cbb2
8136FG-18366Nov 25Harbor Light05Do not honorRetry schedule3Not recovered—$0.309e4c204c…e126
8137FG-18367Jan 26Harbor Light63Suspected fraudDonor outreach0Not recovered—$0.00a3f56107…4914
8138FG-18368Apr 26Harbor Light96Issuer unavailableRetry schedule1Recovered$50$0.10e3561229…517f
8139FG-18369Apr 26Riverbend33Expired cardCard updater, then retry1Recovered$25$0.10b4d9d899…4566
8140FG-18370Jun 26Riverbend78Account closedDonor outreach1Recovered$25$0.10e3f8f04a…d6cf
8141FG-18371Nov 25Lumen Arts41Lost or stolenDonor outreach0Stopped—$0.00bd7ab882…1abf
8142FG-18372Jun 26Lumen Arts43Lost or stolenDonor outreach0Stopped—$0.00c82e453c…f90a
8143FG-18373Oct 25Lumen Arts41Lost or stolenDonor outreach0Stopped—$0.00e5c627e8…f2cb
8144FG-18374Mar 26Lumen Arts63Suspected fraudDonor outreach0Not recovered—$0.002e418a22…edba
8145FG-18375Jul 26Lumen Arts05Do not honorRetry schedule3Recovered$40$0.3064553241…941d
8146FG-18376May 26Harbor Light01Do not honorRetry schedule3Not recovered—$0.30ed848ddb…68ac
8147FG-18377Oct 25Riverbend51Insufficient fundsRetry schedule1Recovered$15$0.10e826ba79…2240
8148FG-18378Dec 25Riverbend14Invalid cardDonor outreach0Stopped—$0.00b0367619…42fc
8149FG-18379Mar 26Riverbend41Lost or stolenDonor outreach1Recovered$20$0.10a1d47d3a…08dc
8150FG-18380Sep 26Riverbend51Insufficient fundsRetry schedule3Stopped—$0.308b5dfd0d…7d4d

Outcomes: Recovered — won back within the recovery window. Not recovered — not won back; the monthly gift continues. Stopped — not won back, and the monthly gift lapsed. Head of chain 7377059a…56e0: one hash that commits to every entry.