I think every behavioral-data field should carry an explicit retention deadline in its schema: purpose, owner, collection time, TTL, downstream stores, and what happens to derived values. A CI check should reject fields without one, while storage policies enforce it at runtime. Retention should be treated more like a security requirement than a sentence in a privacy policy.
Recommendation events, analytics SDK data, and account activity often start as “useful later” and quietly become a permanent profile. A delete button may remove the primary record without proving that features, warehouse copies, backups, or training snapshots are gone. Real expiry mechanisms already exist: TTLs and object-lifecycle rules can delete data automatically, with logs for the event. Debugging and model training need exceptions, but those should be narrow, approved, access-controlled, and dated. Would teams actually accept this discipline, or would it make diagnosis and experimentation too painful?