diff --git a/GDPR.txt b/GDPR.txt index 9cce01c3d5dcc9b2ba1cbfdfe1d230ae92f2352f..f8f7f13c83c97ff796b1c5f6c9837056edb7a1d0 100644 --- a/GDPR.txt +++ b/GDPR.txt @@ -6,6 +6,29 @@ # in particular. As a hosting provider, you must inform your users of their # rights and how their data are used and protected. +purpose: + Deduplicate number of audio file downloads made by the same listener + for analytics purposes +lawfulness: legitimate interest + +data: (User IP address + Browser User Agent) +required: yes +visibility: none +description: + In order to produce analytics data comparable to the podcasting + ecosystem standards, the User IP address (REMOTE_ADDR) with the + browser User Agent (HTTP_USER_AGENT) are stored when an audio file + is downloaded. +mitigation: + The data (User IP address + Browser User Agent) is never stored in plain + format. + The data is concatenated with a cryptographic salt, the current date, + and the podcast or episode IDs. + The data is hashed (using sha1) after being concatenated and before + being stored. + The data is stored in a cache database (eg. Redis). + The data expires every day at midnight (server time). + purpose: Connect users to their accounts lawfulness: legitimate interest diff --git a/public/.well-known/GDPR.yml b/public/.well-known/GDPR.yml index 8ef0206382fc94a9c82b7a8ae16beeeee5157f0c..40c822bafb498e1e8c53a076c5c9f26a11667d1a 100644 --- a/public/.well-known/GDPR.yml +++ b/public/.well-known/GDPR.yml @@ -7,6 +7,30 @@ # rights and how their data are used and protected. purposes: + - description: | + Deduplicate number of audio file downloads made by the same listener for + analytics purposes + lawfulness: legitimate interest + data: + - field: (User IP address + Browser User Agent) + required: yes + visibility: none + description: | + In order to produce analytics data comparable to the podcasting + ecosystem standards, the User IP address (REMOTE_ADDR) with the + browser User Agent (HTTP_USER_AGENT) are stored when an audio file + is downloaded. + mitigation: | + The data (User IP address + Browser User Agent) is never stored in + plain format. + The data is concatenated with a cryptographic salt, the current date, + and the podcast or episode IDs. + The data is hashed (using sha1) after being concatenated and before + being stored. + The data is stored in a cache database (eg. Redis). + The data expires every day at midnight (server time). + retention: 24 hours maximum + - description: Connect users to their accounts lawfulness: legitimate interest data: