上下文:我们拥有用于服务的遥测系统,并希望跟踪保留率,使用各种功能的用户数等。
有两种处理用户可识别信息并符合GDPR的选项:
选项1难以实现(对于遥测系统)。选项#2不允许回答诸如“功能X的6个月保留期是什么?”之类的问题。
如何获得上述问题的答案的一个主意是每周/每天计算每个功能的HyperLogLog Blob,并将其永久存储。这样一来,就可以根据这些Blob进行合并/计数/计算保留。
假设30天后(删除用户帐户后)所有用户可识别信息都消失了,HyperLogLog Blob是否仍可跟踪用户(即回答两年前某个用户是否使用过X功能)?
如果允许,则表明它不符合要求(如果不允许则不表示它符合要求。)
答案 0 :(得分:2)
通常,HLL 不符合GDPR。最近的Google paper(在第8节:“缓解策略”中)已解决了该问题。
HLL中使用的哈希函数通常不是加密安全的(通常是MurmurHash),因此即使加盐,您仍然可以回答“是否是HLL数据结构的用户部分”的问题,这是不可以
如果您将HLL保留超过30天 iff ,则在您进行HLL聚合之前应用加盐的加密散列(即,加盐的SHA-2或BLAKE2b,BLAKE3),并且您在每个<30天的时间段后销毁盐。这样一来,您可以保持少于30天的时间间隔。您将无法在多个间隔中合并HLL,而只能在28天以上进行合并,但这仍然可以根据您的业务需求而变得非常有价值。