zlacker

[return to "Show HN: I made a privacy-first minimalist Google Analytics"]
1. Adriaa+8[view] [source] 2018-09-19 14:13:28
>>Adriaa+(OP)
Creator here. As a developer, I install analytics for clients, but I never feel comfortable installing Google Analytics because Google creates profiles for their visitors, and uses their information for apps (like AdWords). As we all know, big corporations unnecessarily track users without their consent. I want to change that.

So I built Simple Analytics. To ensure that it's fast, secure, and stable, I built it entirely using languages that I'm very familiar with. The backend is plain Node.js without any framework, the database is PostgreSQL, and the frontend is written in plain JavaScript.

I learned a lot while coding, like sending requests as JSON requires an extra (pre-flight) request, so in my script I use the "text/plain" content type, which does not require an extra request. The script is publicly available (https://github.com/simpleanalytics/cdn.simpleanalytics.io/bl...). It works out of the box with modern frontend frameworks by overwriting the "history.pushState"-function.

I am transparent about what I collect (https://simpleanalytics.io/what-we-collect) so please let me know if you have any questions. My analytics tool is just the start for what I want to achieve in the non-tracking movement.

We can be more valuable without exploiting user data.

◧◩
2. pdkl95+Yf[view] [source] 2018-09-19 16:13:14
>>Adriaa+8
> unnecessarily track users without their consent

Regardless of your intentions, you are collecting enough data to track users.

> I am transparent about what I collect ([URL])

That page doesn't mention that you are also collecting (and make no claim about storing) the globally-visible IP address (and any other data in the IP and TCP headers). This can be uniquely identifying; even when it isn't unique you usually only need a few bits of additional entropy to reconstruct[1] a unique tracking ID.

In my case, you're collecting and storing more than enough additional entropy to make a decent fingerprint because [window.innerWidth, window.innerHeight] == [847, 836]. Even if I resized the window, you could follow those changes simply by watching analytics events from the same IP that are temporally nearby (you are collecting and storing timestamps).

[1] An older comment where I discussed how this could be done (and why GA's supposed "anonymization" feature (aip=1) is a blatant lie): https://news.ycombinator.com/item?id=17170468

◧◩◪
3. harian+Nj[view] [source] 2018-09-19 16:41:36
>>pdkl95+Yf
Good comment! I only store the window.innerWidth metric. I updated the what we collect page (https://simpleanalytics.io/what-we-collect) to reflect the IP handling. We don't store them. And fingerprinting is something that would be definitely tracking, not on my watch!
◧◩◪◨
4. samirm+xF[view] [source] 2018-09-19 19:08:21
>>harian+Nj
There is absolutely no reason to collect and store window dimensions, other than for fingerprinting and tracking. Sure it might be an interesting piece of trivia for the dev, but it's not necessary for the dev to "make sure the website works great on all of those dimensions", since that much is already obvious and presumed when making websites these days.
◧◩◪◨⬒
5. markbn+hG[view] [source] 2018-09-19 19:15:45
>>samirm+xF
Could there not be value in knowing how many pixels your users have available to view your things? You could presumably get that information from device characteristics but then could also presumably use that for fingerprinting.
◧◩◪◨⬒⬓
6. samirm+qI[view] [source] 2018-09-19 19:32:11
>>markbn+hG
You as the developer have access to and are aware of all possible display dimensions and aspect ratios. It's not that hard to prioritize the sizes you want to support and then work based off that. There are plenty of tools out there that let you simulate different screen sizes for testing too. I don't see this information providing any extra value.
◧◩◪◨⬒⬓⬔
7. CJeffe+kN[view] [source] 2018-09-19 20:13:46
>>samirm+qI
Surely the best sizes to prioritize would be the ones your users are using the most?
◧◩◪◨⬒⬓⬔⧯
8. samirm+fQ[view] [source] 2018-09-19 20:41:04
>>CJeffe+kN
Also known as the most common sizes used by everyone else for most other sites...
◧◩◪◨⬒⬓⬔⧯▣
9. chipot+tS[view] [source] 2018-09-19 20:58:41
>>samirm+fQ
I wonder how those other sites figured out what window dimensions their users were most commonly using!
[go to top]