Earlier quoted context omitted.
You probably already add a "time created" column/field to each row/document (at least, I personally do this to all data I store in a database). If you want to expire something, you can now easily calculate it and you can even easily change the timeout/lifespan without having to update the data in the database.
How would that help? Would you set time created to zero?
Ask HN: How are you implementing GDPR-compliant soft deletes?
21–30 of 86 posts
Re: Ask HN: How are you implementing GDPR-compliant soft deletes?
#22Earlier quoted context omitted.
The law itself was written by someone unaware of that. A lot of interpretations: 1. The most extreme, go back to all of your backups and delete them too. 2. You don't need to do anything, if you do not touch the backups and truly treat them for disaster recovery. 3. Your backups need to have reasonable retention (e.g. two year) and way to apply post requests after recovery. 4. A lot of in between. 5. My personal inte…
In what world is two years worth of backups required for reasonable retention? Either the backups are tiny or the company involved has got more money than sense. I'd see no reason, in any company, for backups to be held for longer than 6 months, and that would be an outside estimate (many companies could get away with only having a couple of months worth of backups).
If you're datastore is small (e.g. SQL table), but supersensitive (E.g. financial data), you may want to keep backups for really long and on medium that doesn't allow easy modifications (e.g. tapes or AWS Glacier).
I know some government (e.g. Poland social security) keep several backups in many locations for many years just as a redundancy.
Re: Ask HN: How are you implementing GDPR-compliant soft deletes?
#23What would be the sort of dispute you envisage?
Re: Ask HN: How are you implementing GDPR-compliant soft deletes?
#24If you are required to hold on to the data for legal purposes such as dispute settlement, there is no issue. The customer can request you delete such data but you have no obligation to do so. Issues arise when holding on to the data is no longer "necessary". At that point soft deletion is not enough and you must be able to remove personal data regarding that customer from your systems. Source: IP lawyer I talked with last week on this.
From what I can tell, one good way of going about this in case you really do not want to throw away data – such as when you're doing event journaling – would be to have all personal data encrypted. When the data reaches its expiration point or is requested for deletion, throw away the decryption key and all you're left with is is the metadata which you are allowed to hold on to for purposes of running your business.
EDIT: This concept is called 'cryptographic deletion'. Here's one whitepaper on the subject. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.397....
Re: Ask HN: How are you implementing GDPR-compliant soft deletes?
#25Earlier quoted context omitted.
In what world is two years worth of backups required for reasonable retention? Either the backups are tiny or the company involved has got more money than sense. I'd see no reason, in any company, for backups to be held for longer than 6 months, and that would be an outside estimate (many companies could get away with only having a couple of months worth of backups).
In Norway you need to keep accounting data for ten years to be compliant with accounting laws so I you lose eight of them you would be in violation. Edit: I see you mean retention, I guess if you discover after a year that your backup routine is malfunctioning and you need older backups but that is not that common I'd guess.
Re: Ask HN: How are you implementing GDPR-compliant soft deletes?
#26GDPR says you must delete information about the customer; but there are cases where you still might need to have that data available.
If your customer can interact with another one inside your app/platform, he/she can commit a crime, and you might be required by court (and by law) to disclose some information (even conversations! inside the platform).
Setting something to "deleted" might not be the best way to do the actual soft delete.
Sometimes you can "delete" that user moving it to a separate part of an LDAP branch (where nobody except someone with authority can access).
In other cases, you can add the "deleted" flag on the table. If so, MAKE SURE your app access the data from a view of the table where the 'deleted' users are not present. Even better: partition the underlying table based on the "deleted" field to physically separate active and deleted users.
But whatever you do, ask your Data Protection Officer first.
Re: Ask HN: How are you implementing GDPR-compliant soft deletes?
#27That is: Remove all personal information - email, name, surname, etc..
Re: Ask HN: How are you implementing GDPR-compliant soft deletes?
#28> it helps for documentation purpose should the dispute arise over some issue in future. If you are required to hold on to the data for legal purposes such as dispute settlement, there is no issue. The customer can request you delete such data but you have no obligation to do so. Issues arise when holding on to the data is no longer "necessary". At that point soft deletion is not enough and you must be able to remove…
Re: Ask HN: How are you implementing GDPR-compliant soft deletes?
#29Soft deletes as you describe aren't allowed under GDPR. But a possible solution may be to disassociate the data from the customer (as long as the data itself isn't considered 'personal data'). For example, if the reason the data falls under GDPR is because it is connected to the customers email address, you could clear the email address. But that wouldn't let you ever re-associate it. But you could maybe (but don't t…
My understanding, as someone implementing the GDPR-compliance for my company right now, is that if you could produce the same one-way hash a second time from the same input email address then the hash is still considered PI.