data: add sanitized test fixtures and their generator

Real samples under data/test_input/ stay local and gitignored; these
committed fixtures are format-identical copies with every identifying
value replaced one-way via salted hashes: epsilon contract cards and
customer numbers into synthetic disjoint ranges (batches renumbered
9405+, dates +2y; cumulative slice batches 5001+, dates -6y), tsdrms
R/A / DBR / location ids into ZZ-form synthetic ids (dates +2y,
filenames shifted to match cutoffs), subfranchise statements to
extracted text with sender, partner, invoice numbers and amounts
replaced (EUR x rate = SEK arithmetic deliberately NOT preserved).
Amounts, GL codes, descriptions, and station/terminal/pump/receipt
numbers carry no personal data and are kept verbatim per readme
'Data formats'.

scripts/sanitize_samples.py regenerates fixtures deterministically
from local raw samples; scripts/check_fixture_leaks.py verifies no
real value appears in fixtures (content or filenames), exit 0 =
clean. Verified passing for all sources.
This commit is contained in:
hermes
2026-10-08 11:30:13 +02:00
parent 676e55eeb6
commit 3f0974a1d1
21 changed files with 8388 additions and 0 deletions
@@ -0,0 +1,9 @@
"Date" "Batch number" "Amount" "Volume" "Price" "Quality" "QualityName" "Card number" "Card type" "Customer number" "Station" "Terminal" "Pump" "Receipt" "Card report group number" "Control number"
"4/18/2012 11:13:20 AM" "5001" "0.00" "0.00" "0.00" 0 "" "973783******2920" "973783******2920" "" "97254" "1" "1" "000001" "30" "149349"
"4/18/2012 11:24:19 AM" "5002" "0.00" "0.00" "0.00" 0 "" "9846744134310952972" "9846744134310952972" "52091" "97254" "1" "1" "000002" "1" ""
"4/18/2012 11:28:55 AM" "5001" "168.61" "11.10" "15.19" 1001 "95 Oktan" "987363******5132" "987363******5132" "" "97254" "1" "2" "000003" "30" "112755"
"4/18/2012 11:38:50 AM" "5001" "535.75" "35.27" "15.19" 1001 "95 Oktan" "966779******2969" "966779******2969" "" "97254" "1" "1" "000004" "30" "337109"
"12/31/2019 12:11:42 PM" "5406" "51.26" "3.32" "15.44" 1001 "95 Oktan" "9814302460834932927" "9814302460834932927" "55852" "97254" "1" "1" "008991" "1" ""
"12/31/2019 1:28:28 PM" "5406" "264.70" "15.70" "16.86" 4 "Diesel" "9893101033219757733" "9893101033219757733" "55852" "97254" "1" "1" "008992" "1" ""
"12/31/2019 1:42:05 PM" "5406" "258.63" "15.34" "16.86" 4 "Diesel" "9893101033219757733" "9893101033219757733" "55852" "97254" "1" "1" "008993" "1" ""
"12/31/2019 5:10:13 PM" "5406" "276.84" "17.93" "15.44" 1001 "95 Oktan" "9809987812580550924" "9809987812580550924" "50483" "97254" "1" "1" "008994" "1" ""