A slightly more realistic approach I’ve seen to a lot of these issues basically boils down to:
- minimise PII collection as much as possible in general and start thinking of it more like a liability than an asset.
- Isolate the actual PII in your backend and stop passing it around from system to system.
- start working more with “references” to the PII data which is isolated and can be tombstoned when required.
It takes a little bit of thinking around the concept of “identities” and a deep understanding of how data flows through your various systems but getting on that early right from the point of collection makes life a lot easier.