From ff23e060dbb7ef898b47208f6bcc730d27a1b8cf Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Sat, 2 Aug 2025 19:53:40 +0200 Subject: [PATCH 1/6] feat: :speech_balloon: update privacy policy Clarify a few aspects of how data collection works --- src/privacy.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/privacy.md b/src/privacy.md index b704714..242128b 100644 --- a/src/privacy.md +++ b/src/privacy.md @@ -11,7 +11,7 @@ Ackee is open-source analytics software. The data it collects is anonymized in a Ackee gives me insight into the following data points: -* Number of visits per day +* Number of visitors for a given day * Number of visitors that currently view the site * Approximate duration of stay * Number of times a given page was visited @@ -22,24 +22,26 @@ Ackee gives me insight into the following data points: * Screen size of the device * Primary language of the browser or operating system -Ackee uses the IP, user-agent and domainId to identify a user. All information will be hashed together with a [salt](https://en.wikipedia.org/wiki/Salt_(cryptography)) that changes daily. The final hash is called `clientId`. +Ackee uses the IP, user-agent (browser name, version, operating system) and domain ID of a visitor to calculate a client ID. This data is immediately discarded after calculation. Ackee calculates the client ID in a way that it cannot be used to trace back to individual visitors. It avoids that database backups can be used to stick data together to reconstruct the browsing history of a user. -The daily salt is never stored anywhere. It avoids that database backups can be used to stick data together to reconstruct the browsing history of a user. +In other words: Unless we're in the same room together and already know the above data points in advance, I do not know who clicks around on this site. I only know that *someone* was here but not *who*. ## Purpose of collecting data -I collect this data to better understand my audience, improve the site's user experience, and to inform future development and editorial decisions. The data will not be shared with anyone, ever. +I collect this data to better understand my audience, improve the site's compatibility so it looks and works right on as many devices as possible, and to inform future development and editorial decisions. The data will not be shared with anyone, I will remain the sole person with access to it. It is purely for the purpose of maintenance. ## Data retention -Ackee removes data from previous records when a new record with an existing identification gets added. This way the user identifier and other identifiable data is only stored once in the database. +Ackee removes data from previous records when a new record with an existing identification gets added. This way the user identifier and other potentially identifiable data is only stored once in the database. In other words: Ackee forgets who you are as soon as it sees you again. It's not possible to reconstruct a browsing history, even on a daily basis. ## User consent -Data collection is opt-in. I will not collect any analytics data until you explicitly allow me to do so. If you previously opted-in but changed your mind, click the button below: +Data collection is opt-in. No data is sent to my Ackee installation before you give your explicit consent. If you decline, no data will ever be sent to my Ackee installation. The banner at the bottom of the page will keep asking you until you decide to agree or disagree. In either case, your browser will remember your choice in its local storage. If you clear your browser's cache your choice may be cleared as well, in which case the banner will appear and ask for your consent once more. - +If you previously opted-in but changed your mind, click the button below: + +Opt-out By using this site, you acknowledge that you have read and understood this privacy policy. If you have any questions or concerns about how your data is collected or used, please feel free to [contact me](https://sebin-nyshkim.net/contact). From 3d1a78f0a40b914cb0caaa8598efb639be80b6f2 Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Sat, 2 Aug 2025 19:56:09 +0200 Subject: [PATCH 2/6] feat: :chart_with_upwards_trend: clarify message on consent banner --- src/components/analytics-banner.webc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/analytics-banner.webc b/src/components/analytics-banner.webc index bff7950..2c2ea6e 100644 --- a/src/components/analytics-banner.webc +++ b/src/components/analytics-banner.webc @@ -33,8 +33,9 @@

- 📊 Analytics 💡 May I collect some anonymized data about the device you use - to view this site? I won't know who you are. See: Privacy Policy + 📊 Analytics 💡 May I collect anonymized data about your device to help me + improve this site? No personally identifiable data is stored. See: + Privacy Policy

Yeah sure Nope From deceea307189810b7101c40378e23b5df5fd4950 Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Sat, 2 Aug 2025 20:14:54 +0200 Subject: [PATCH 3/6] feat: :sparkles: update title generation --- src/components/head/page-head-meta.webc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/components/head/page-head-meta.webc b/src/components/head/page-head-meta.webc index 3d46c3e..1e40d4e 100644 --- a/src/components/head/page-head-meta.webc +++ b/src/components/head/page-head-meta.webc @@ -1,8 +1,7 @@ - + Date: Sat, 2 Aug 2025 21:42:47 +0200 Subject: [PATCH 4/6] feat: :sparkles: add artist credit for profile picture --- src/components/profile.webc | 29 ++++++++++++++++++++++++++--- src/jarek/jarek.11tydata.json | 6 +++++- src/layouts/character.webc | 3 +++ src/sebin/sebin.11tydata.json | 4 ++++ src/viktor/viktor.11tydata.json | 6 +++++- 5 files changed, 43 insertions(+), 5 deletions(-) diff --git a/src/components/profile.webc b/src/components/profile.webc index 8d1bb0c..85463f0 100644 --- a/src/components/profile.webc +++ b/src/components/profile.webc @@ -1,7 +1,10 @@