All posts

May 30, 2026 · 4 min read

Is Your Analytics Tool Quietly Collecting Personal Data You Never Meant to Send It?

Analytics and product-tracking tools, the kind that record what pages people visit and what buttons they click, are one of the most common integrations in any app, and they're also a common, unglamorous place for personal data to end up somewhere it was never meant to go, quietly, without anyone deciding it should happen.

How this actually happens

Many analytics tools automatically capture more than just clicks and page views by default: form field values, URL parameters, sometimes full page content depending on configuration. If a form field containing a name, an email, or anything more sensitive gets captured this way without anyone specifically deciding it should be, that information is now sitting inside a third-party analytics tool, with whatever access controls and retention policies that tool has, likely quite different from your own app's, and quite possibly accessible to more people on your team than your actual customer database is.

A concrete way this shows up

A signup or contact form gets built, and the analytics tool's default session-recording or event-tracking feature captures the values typed into every field on the page, because that's simply how its default configuration works, not because anyone specifically configured it to capture personal data. Nobody added a line of code intending to send names and emails to a third-party analytics dashboard. The tool's default behavior did it automatically, and it's easy for that to go unnoticed indefinitely, since the analytics tool functions and reports data exactly as expected either way.

What's actually worth checking

  • Look at your analytics tool's actual captured data, not just its dashboard summaries, and check whether real personal information from your forms shows up in individual event or session records.
  • Check your analytics tool's default settings for form-field capture, session recording, or any feature that logs raw input values, and confirm whether it's masking sensitive fields by default or capturing everything.
  • For any field that shouldn't be captured, an email, a password field obviously, a payment detail, confirm it's explicitly excluded or masked in your analytics tool's configuration, not just assumed to be handled safely by default.
  • Check who on your team actually has access to your analytics tool's raw data, since that access list is often broader and less carefully managed than access to your primary customer database.

Why this matters even though it feels like a minor technical detail

This is the same underlying question as everything else on this blog, who can see this data, applied to a tool that doesn't feel like part of your "real" app and therefore rarely gets the same scrutiny. A customer's email sitting in your database is protected by whatever access rules you've built. The same email sitting in an analytics tool's raw event log, captured automatically by a default setting nobody reviewed, is protected by whatever that third party's own defaults happen to be, and by whoever on your team happens to have a login to that dashboard.

None of this means avoid analytics tools, they're genuinely useful for understanding how people actually use what you've built. It means checking, specifically, what they're actually capturing by default, rather than assuming a tool aimed at tracking clicks couldn't possibly be capturing anything more sensitive than that.

Related reading

Harbova is a security service for apps built with AI tools. Start with a free scan, and if it finds something serious, we can fix it and prove it is closed.