pii.bank_routing_us
A US ABA bank routing number appears next to a routing keyword in the free text.
What it looks at#
A nine-digit number that passes the ABA 3-7-1 weighted checksum and starts with a valid
Federal Reserve routing prefix (00-12, 21-32, 61-72, 80), and has routing, ABA,
RTN, ACH or transit within about 40 characters. One nine-digit number in ten passes
the checksum, so without the keyword every order number would match; with no keyword there
is no finding.
Why it matters#
A routing number is not secret on its own: it is printed on every cheque. Paired with an account number it is enough to set up an ACH debit, which is why it turns up in the same paste as one.
What to do#
Medium severity. Check whether an account number sits alongside it and redact both.
Example#
curl -s -X POST https://api.stormdoor.dev/v1/pii \
-H "Authorization: Bearer sk_live_..." \
-H "content-type: application/json" \
-d '{"text":"ACH routing number 021000021"}'
The response carries one pii.bank_routing_us finding. Without the word routing, it is clean.