Full card number written to the device log
The checkout flow logs the primary account number on every charge. DAST saw it in the release build's log output. Anything that can read the log, or any crash report that captures it, gets the card.
87 fun charge(pan: String, amt: Money) { 88 Log.d("checkout", "card=$pan amt=$amt") 89 api.charge(pan, amt)
Sixteen digits, in plain text.
87 fun charge(pan: String, amt: Money) { 88 if (BuildConfig.DEBUG) 89 Log.d("checkout", "card ending ${pan.takeLast(4)}") 90 api.charge(pan, amt)
Last four, debug builds only.