The database was too open — mine included
The security pitch on this site isn't secondhand. Early in RiffLead's development, row-level security wasn't locking things down the way it needed to — data that should have been scoped to one management team was reachable with the public anon key. In a CRM, that's not a cosmetic bug; that's other people's business relationships.
The fix was unglamorous: policies rewritten table by table, scoped to the team rather than just the user, then re-tested the way an attacker would — by taking the public key and trying to read everything. That test — "don't check the setting, attempt the read" — is now literally a feature of Ms. Vibecode.