Repository navigation
the privacy policy said no IP is stored, and an IP is stored on every event - #2769
Merged
Merged
Conversation
… event The submission scan asks a privacy policy for five things by name: the categories of personal data collected, the purposes of use, the categories of recipients, retention timelines, and the controls offered to users. Mine was written as prose and a reviewer could not find them, so the page is now ordered to match. Checking each claim against the running system turned up two that were wrong. It said no IP address is stored. That was true of the server-side capture, which sets none and disables person profiles, and false of the site as a whole: the browser SDK posts through /ingest and PostHog records the request IP on ingestion, with anonymize_ips off on this project. Measured today, an IP is present on 100% of events across every event type, and country and city are derived from it. Understating what is collected is as wrong as overstating it, and this is the claim a reader would most reasonably rely on. It gave no retention period at all, which is one of the five. The project's configured product-analytics retention is one year; rate-limit counters live in process memory and die with the deploy; benchmark measurements are kept indefinitely because they describe providers, not visitors. Two things verified while rewriting and now stated: autocapture is off, so nothing is recorded but the named events, and session recording is off, so there are no replays or heatmaps. Also added what the page lacked: who the processors are, a children's clause, and the fact that the MCP endpoint redacts anything credential-shaped out of a query before it can appear in a response. Not changed: whether to collect an IP at all. PostHog has an anonymise setting that would make the original claim true instead of documenting the collection, and that is Florent's call rather than a silent edit to how the site measures its own traffic.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The submission scan rejected the privacy policy with "Review the plugin's privacy policy against the submission guidelines." The guidelines ask for five things by name:
Mine was written as prose and a reviewer could not find them. The page is now ordered to match. Checking each claim against the running system turned up two that were wrong.
It said no IP address is stored
That was true of the server-side capture (
analytics-server.tssets none and disables person profiles) and false of the site as a whole: the browser SDK posts through/ingestand PostHog records the request IP on ingestion, withanonymize_ipsoff on this project.Measured today:
100% of events, every type — and PostHog derives country and city from it ("United States / Ashburn", "France / Rumilly"). Understating what is collected is as wrong as overstating it, and this is the claim a reader would most reasonably rely on.
It gave no retention period at all
One of the five, and simply absent. The project's configured
product_analytics_data_retentionis 1 year. Rate-limit counters live in process memory and die with the deploy. Benchmark measurements are kept indefinitely because they describe providers, not visitors.Also added
Verified and now stated:
autocapture: false(nothing recorded but the named events) andsession_recording_opt_in: false(no replays, no heatmaps). Plus the processors by name (PostHog, Vercel), a children's clause, and the fact that the MCP endpoint redacts anything credential-shaped out of a query before it can appear in a response.One decision left to you
I did not change whether an IP is collected. PostHog has an
anonymize_ipssetting that would make the original claim true rather than documenting the collection. That is a change to how the site measures its own traffic — your call, not a silent edit. Say the word and it is a one-line toggle; the policy would then say no IP is retained, truthfully.tscclean, 412 tests pass,pnpm validatepasses.