PRIVACY

Privacy policy.

Last updated 15 June 2026

Motion Analytics is a privacy-first, cookie-free analytics service. It measures how websites are used without identifying the people using them. This policy explains exactly what the tracker collects, what it never does, where the data lives and the legal basis it relies on. It covers the data Motion processes as the operator of Motion Analytics, and the data our customers collect about their own visitors through it.

What we collect

When a page carrying the tracker is viewed, the script sends a single request to our collection endpoint. From that request we record:

DataSource
Page pathThe pathname of the page viewed (no query string)
ReferrerThe page that linked to you, and its host
Campaign tagsStandard UTM parameters, when present on the entry URL
CountryCountry-level only, derived at the edge. No city, no region
Device, browser, OSCoarse categories inferred from the User-Agent string
Previous in-site pageThe last page you visited on the same site, for flow reporting
Custom eventsAn event name, only when a site chooses to count an interaction
Performance metricsAggregate Web Vitals (loading, interaction latency, layout shift, long animation frames), and whether the browser requests reduced motion, an accessibility preference counted in aggregate. Timings and a single preference flag only, no new identifiers

What we never do

No cookies. No localStorage. No fingerprinting. No cross-site or cross-device tracking. No advertising profiles. We do not sell data, and we never share it with advertising networks or data brokers. Critically, your IP address is never stored: it is used in memory for the moment it takes to derive your country and a daily visitor count, then discarded. There is no personal data at rest.

How visitors are counted without cookies

To tell a returning reader from a new one within a single day, each view is attributed to a visitor hash. That hash is computed from your IP address and browser combined with a random salt that is generated fresh each day and destroyed within 48 hours. The raw IP is never written down. Once a day's salt is destroyed, that day's hashes can never be linked back to an IP, even by us. Because the salt changes every day, the same person produces a different, unlinkable hash tomorrow, so there is no way to recognise a visitor across days, across sites or across devices.

Lawful basis and consent

The tracker reads from and writes to no information on your device, so under the ePrivacy Directive and PECR it requires no cookie-consent banner. The limited processing we do carry out (deriving country and a daily count from a transient IP) rests on our legitimate interest under Article 6(1)(f) of the GDPR in understanding, in aggregate, how our and our customers' websites are used. That interest is balanced against your privacy by the design itself: no cookies, no stored IP, no persistent identifier, no profiling.

Sub-processors and where data is processed

Collection and aggregate storage run on Cloudflare's global network. We use a small set of sub-processors, each touching only what its job requires:

Sub-processorPurposeData it touches
Cloudflare (US)Collection, Analytics Engine, R2 rollups and the raw archiveVisitor data: the daily visitor hash, country, coarse device strings and page paths
Supabase (US)Sites registry and owner accountsCustomer account data only. No visitor data
Loops (US)Monitoring and billing emails, when configuredOwner email address and aggregate incident copy. No visitor data
Slack (US)Monitoring alerts, when an owner connects itAggregate incident copy to the owner's workspace. No visitor data
Paddle (UK)Billing and payment processing (Merchant of Record)Customer billing details. No visitor data

The sub-processors marked US are controlled by US companies. Where data leaves your region, transfers rely on the relevant safeguards, including the EU-US Data Privacy Framework and standard contractual clauses, and above all on the minimisation described above: the visitor data we hold is pseudonymous, self-destructs within 48 hours and carries no stored IP. Motion Analytics is not pinned to a single jurisdiction, so it is not offered as an EU-data-residency product.

Retention

Raw collection data lives in Analytics Engine for roughly 90 days. Beyond that we keep aggregate daily and monthly rollups, which hold only counts, plus a raw event store for long-range filtering that is retained for up to 5 years and then deleted; how far back you can query it depends on your plan. The referrer is stored without its query string, so the long-term store holds no reversible identifier, no stored IP and no parameters carried over from another site's URL. Nothing in long-term storage maps back to an individual.

Your rights

Under the GDPR and similar laws you have rights to access, rectify, erase and object to the processing of your personal data. Because Motion Analytics stores no identifier that can be tied to you (no IP, no cookie, no persistent ID), we hold no record that could be located and returned or deleted on an individual basis. Once a day's salt is destroyed, the visitor hashes from that day cannot be tied to anyone at all. If you run a site using Motion Analytics, you must not place personal data in your own page paths or campaign tags; the raw event store is retained for up to 5 years and then deleted. If you have a question about this, or need a data-processing agreement, contact us at privacy@motion.dev or see our data-processing agreement and the sub-processor list below.

Changes

We will update this page when the way we handle data changes and revise the date at the top. For the full technical picture, the privacy model in the docs describes exactly what the tracker sends and how counting works.