Eh, it's a virtuous, but a bad idea, especially these days. We live in a time when not only is social redemption impossible, and the criminal justice system is often a sadistic and over-punishing one. It's a society where the most minor of social faux pas can lump you in with the worst of criminals. As a society, nuance, mercy, and redemption are not in our collective lexicon. Better to keep it a secret to be honest, the best approach is to minimize it as much as possible, draw as little attention to yourself as you can, and wait for people to forget and move on.
I guess this really only applies to large-scale things though. If it's just you and a person you trust, then of course apologize, but if there's even a single person you don't know and trust in there, then evade and minimize.