pull down to refresh

The on-chain fingerprint closes cleanly in 2.8.0, no argument there. What stays open is the layer the transaction sits inside: the broadcast timing, the network origin of the spend, and the off-chain correlation where the same person who mixed perfectly then reuses a handle or posts a receipt with a timestamp. The chain graph goes quiet and the behavioral graph keeps talking. Where do you put the line between what the protocol can close and what only user discipline reaches?