Is your feature request related to a problem?
PII (Personal Identifiable Information) can be sent to PostHog and end up being stored in our databases. Users need a way to be able to request deletion of that data.
The api and UI allow triggering data deletions on a person level, however the deletion system is currently experiencing difficulties & might not cover data in all the systems, e.g. in addition to events data the distinct_id itself could also contain PII.
Secondly sometimes users would like to delete PII based on a time range, e.g. there was an implementation error that for a couple of minutes sent PII, then we'd ideally delete data only during that time frame and not the full history.
Describe the solution you'd like
- Fix the person level data deletion system & improve its reliability/monitoring/alerting.
- Ensure related data gets deleted from all systems
- Provide a solution for time based data deletion
- Business hours alerting on the system working
- Document that unset isn't removing PII
Describe alternatives you've considered
PostHog has events deduplication, so users could consider sending updated events with the same uuid without PII. The problem with this approach is that
- ClickHouse deduplication is eventual, so there isn't a guarantee for when the data would get deleted
- Re-submitting events could have unintended side-effects, e.g. user properties are set at the time of ingestion, so sending a day old event again might override the person properties that had been updated afterwards
- it would be quite cumbersome to re-submit a lot of events and that would cause increased load on our ingestion system
Additional context
Data modification is a very complex operation, so we don't plan to offer that at this point in time.
Related internal threads:
- https://posthog.slack.com/archives/C0460J93NBU/p1706730424537289?thread_ts=1706270512.980269&cid=C0460J93NBU
- https://posthog.slack.com/archives/C0460J93NBU/p1707140274057659
- https://posthog.slack.com/archives/C0185UNBSJZ/p1707027331494989?thread_ts=1707027291.434259&cid=C0185UNBSJZ
- https://posthog.slack.com/archives/C0460J93NBU/p1707142640395949?thread_ts=1707140274.057659&cid=C0460J93NBU
- https://posthog.slack.com/archives/C0374DA782U/p1707168312879699
Related support tickets:
https://posthoghelp.zendesk.com/agent/tickets/16458 (moved to PostHog: https://us.posthog.com/project/2/support/tickets/19568)
Is your feature request related to a problem?
PII (Personal Identifiable Information) can be sent to PostHog and end up being stored in our databases. Users need a way to be able to request deletion of that data.
The api and UI allow triggering data deletions on a person level, however the deletion system is currently experiencing difficulties & might not cover data in all the systems, e.g. in addition to events data the distinct_id itself could also contain PII.
Secondly sometimes users would like to delete PII based on a time range, e.g. there was an implementation error that for a couple of minutes sent PII, then we'd ideally delete data only during that time frame and not the full history.
Describe the solution you'd like
Describe alternatives you've considered
PostHog has events deduplication, so users could consider sending updated events with the same uuid without PII. The problem with this approach is that
Additional context
Data modification is a very complex operation, so we don't plan to offer that at this point in time.
Related internal threads:
Related support tickets:
https://posthoghelp.zendesk.com/agent/tickets/16458 (moved to PostHog: https://us.posthog.com/project/2/support/tickets/19568)