Datenschutzerklärung · Last updated: October 9, 2026
This English version governs if it differs from the German translation. Please contact us if anything is unclear.
The controller responsible for the processing described here, within the meaning of Art. 4(7) GDPR, is:
Stefan Rosanitsch
Kriegerdankstr. 14
96450 Coburg
Germany
Email: stefanrows@gmail.com
Contact form: xpmetric.com/contact
Full provider details are in our Impressum.
Data protection officer: We have not appointed a data protection officer. XPmetric is operated by a single person and does not meet the thresholds of Art. 37(1) GDPR or § 38(1) BDSG. You can raise any data protection matter directly with the controller above.
XPmetric processes personal data in two distinct roles, and your rights differ depending on which one applies to you.
Email address, display name, profile image (only if you sign in with Google), timezone, notification preferences, subscription status and billing identifiers. Purpose: providing the service you signed up for and administering the contract. Legal basis: Art. 6(1)(b) GDPR (performance of a contract).
Payment status, amounts, currency and the customer and subscription IDs assigned by our payment provider. We never see or store your full card number. Purpose: taking payment and issuing invoices. Legal basis: Art. 6(1)(b) GDPR for the payment itself, and Art. 6(1)(c) GDPR where accounting records must be retained. Local billing records are deleted with the account; the payment provider retains its own records under its applicable obligations.
Cloudflare Turnstile on the login and contact forms, rate limiting, and server logs. Purpose: keeping the service available and defending against spam, credential stuffing and denial-of-service attacks. Legal basis: Art. 6(1)(f) GDPR. Our legitimate interest is operating a secure service. Balancing: the data involved is limited to what a web server necessarily receives, it is not used to profile anyone and it is not combined with your account activity, so we consider your interests not to override ours.
When something breaks we record the error message, stack trace, the URL involved and — if you were signed in — your user ID. Purpose: finding and fixing faults. Legal basis: Art. 6(1)(f) GDPR. Our legitimate interest is a working product. Balancing: logs are internal, access is limited to the controller, and they are not used for any decision about you.
We use Google Analytics 4 on this website only. It is not loaded at all unless you opt in — no Google script is requested and no identifier is stored before your consent. Purpose: understanding which pages and campaigns work. Legal basis: Art. 6(1)(a) GDPR and, for the storage of and access to information on your device, § 25(1) TDDDG. Advertising features, Google Signals and ad personalisation are switched off; the corresponding Google Consent Mode signals stay denied even if you accept analytics.
If you choose to connect a YouTube channel to your XPmetric account, we access its channel ID and title; YouTube Analytics returns daily views, estimated minutes watched, subscribers gained and subscribers lost, fixed 7-, 28- and 90-day channel totals, and up to 20 returned top-video rows for each period. We also receive only the video IDs, titles and availability needed to display those rows. These are account-level, owner-authorized reports. We do not receive viewer-level identities or join them to XPmetric website visitors. We show the reports privately to you and store them separately from website events, goals and payments; they do not appear in public dashboards or account exports.
This connection uses the read-only YouTube Data and YouTube Analytics permissions. Google receives the authorization request and server-to-server API requests needed to return the reports. Our hosting provider stores the returned reports and encrypted OAuth tokens. This is not an embedded video player: XPmetric does not add a YouTube player, YouTube tracking code or YouTube cookie to your pages through this connection. Google may process browser or device information when you visit Google to authorize the connection. You must accept the current connector privacy notice and Terms and the YouTube Terms of Service before connecting or reconnecting, and confirm that you have reviewed Google's Privacy Policy. We record the notice version and acceptance time. This purpose-specific record is separate from the marketing-site Google Analytics cookie choice. We use the returned API data to provide this optional reporting feature and its owner-selected campaign navigation, under the Google API Services User Data Policy. The Connect/Reconnect checkbox also asks you to agree that XPmetric may access and use Google data only as described under that policy.
You may optionally link a returned, currently confirmed video to an exact campaign on a website you own. Any resulting pageview, goal or payment figures are XPmetric website analytics, shown separately from YouTube Analytics. The Site and campaign mapping stays in XPmetric and is not sent to Google. A mapping does not record a YouTube view click or prove that a view caused a visit or sale. Mappings expire no later than 30 days after the last successful video-ownership check, and are removed when you disconnect or reconnect the channel, delete your account, or delete the mapped website.
Disconnecting or deleting your account removes the saved connection, YouTube reports, video metadata and campaign links immediately, then asks Google to revoke access. That does not delete videos or other data from YouTube. If Google has not confirmed revocation, a minimal encrypted revoke token and retry details may remain for up to seven days outside your account record; while any revoke is pending, reconnection is paused for the pilot. Analytics authorization and channel metadata have separate 30-day checks. Report access is suppressed if Analytics authorization is not reconfirmed within 30 days; channel metadata and each video title or availability are refreshed or removed within 30 days. A confirmed external revocation is handled promptly and no later than 30 days. You can also manage access in Google Account security settings. See the YouTube Terms of Service and Google Privacy Policy; data use is also subject to the Google API Services User Data Policy.
Our testimonial widget is provided by ProofSwap. It is replaced by a placeholder until you actively choose to load it, because loading it discloses your IP address to the provider. Legal basis: Art. 6(1)(a) GDPR and § 25(1) TDDDG.
Sign-in links, billing notices, daily digests and weekly recaps. Legal basis: Art. 6(1)(b) GDPR for emails necessary to run your account, and Art. 6(1)(f) GDPR for account-related product messages, subject to applicable direct-marketing rules. The legal basis for individual trial marketing messages is under review. Every non-essential email carries a one-click unsubscribe link, and you can turn digests and recaps off in your settings at any time.
For customers on the Growth plan we retrieve public posts on X that mention their tracked domain — the author’s handle and display name, a short excerpt, and the like count — and show them on that customer’s traffic chart. Legal basis: Art. 6(1)(f) GDPR — the legitimate interest of a site owner in knowing who is talking about their site publicly. Only content the author published publicly is used, and we do not store profile pictures. Because the authors are not our users, section 5 sets out this processing in full, including how to object.
This is the data we process as a processor (see section 2). For each pageview we receive: the HTTP(S) page origin and pathname, the referrer origin, supported UTM source, medium and campaign values, device type, browser, operating system, country and city derived from the IP address, and any custom events or revenue the site owner configures. URL credentials, fragments and other query parameters are removed; sign-in, verification, callback and password-reset routes are excluded because their paths may contain authentication tokens.
A site owner can separately enable crawler reporting through the XPmetric WordPress plugin. For requests selected by its crawler filter, WordPress sends the site token, requested URL and path, referrer, crawler's user-agent string, and the page's HTTP response status to the endpoint configured by the site owner (by default, our crawler reporting API). We store the site origin and pathname, supported UTM source, medium and campaign values, referrer origin, response status, user-agent string, bot provider, agent and category, and country. Other query parameters, URL credentials and fragments are removed, and authentication paths are excluded. The country comes from the reporting request's network metadata; with the WordPress plugin, it may describe the WordPress server or its proxy rather than the crawler. The crawler-hit record does not store a raw IP address.
We do not store raw IP addresses in our analytics databases. In the default cookieless mode, visitor identity is a non-reversible hash computed on our servers from the visitor’s IP address, browser and the tracked site, salted with random bytes that rotate each UTC day and expire after up to 48 hours. The same person therefore gets a new identifier every UTC day. The hash is scoped per site, so visitors are never linked across websites. IP addresses are used transiently to compute that hash and to look up an approximate location using a local database, and are then discarded.
A site owner can separately enable optional email attribution. If they call the identity method on their website, your email is sent to us over TLS and converted to a site-scoped keyed hash. We do not store or log the raw address for this flow. The link to a visitor identifier is pseudonymous personal data, not anonymous data. It expires 30 days after the last capture and is deleted when the site owner disables the option or erases the site's analytics. The site owner controls this processing and must provide the applicable notice and basis. In cookieless mode the link can recover only the purchase day's attribution, even when a payment arrives later. It does not join visits across days or websites.
Our web server keeps a short access log for troubleshooting and security, separate from the analytics databases described above. It records the page requested, the response status, how long the request took, the browser’s user-agent string and the country supplied by our CDN. It does not record IP addresses. The client IP is removed before the line is written, as are the headers that carry it, session cookies, and any sign-in token in the address. The log is a small rolling buffer that overwrites itself roughly every 24 hours; there is no archive and no backup of it.
This section is for people who are not XPmetric users: authors of public posts on X. Because we did not obtain this data from you, Art. 14 GDPR requires us to tell you the following.
What we do. When a customer on the Growth plan enables mention tracking for their website, we query X’s public search API for recent posts that name that website’s domain, and store the matches so they can appear as markers on that customer’s own traffic chart.
Categories of data (Art. 14(1)(d)). The author’s handle and display name, the post’s ID and time, its like count, and an excerpt of the text of at most 280 characters. That is all. We do not store profile pictures — we do not even ask X for them — and we do not open your profile, record your follower count or bio, enrich the post with data from anywhere else, or link posts to visitors of the website. There is no profiling and no automated decision-making.
Source (Art. 14(2)(f)). X’s public search API, operated by X Corp. Only posts that were publicly visible at the time we retrieved them are used; we never see protected accounts.
Purpose and legal basis. Art. 6(1)(f) GDPR. The legitimate interest is ours and the site owner’s: understanding which public posts sent people to a website. We consider this proportionate because the post was published by you, deliberately names that website, and is shown only to the owner of that website inside their own dashboard — the same post they would find by searching X themselves. We store the minimum needed to link back to your post, and no sensitive categories of data under Art. 9.
Recipients. The owner of the website your post named, and our hosting provider (Hetzner, Germany). Mention data is not sold, not shared with advertisers, and not used to train anything.
How long. 12 months from the date of the post, after which it is deleted automatically, or sooner if the site owner deletes their account or site.
Your rights — objection (Art. 21(1) GDPR). You can object at any time, and you do not have to give a reason that we get to judge. Email privacy@xpmetric.com from any address, naming your handle. We delete everything stored for that handle across all customers and add it to an internal block list, so it is not collected again on the next search — normally within 24 hours, and at the latest within the one month Art. 12(3) allows. You also have the rights in section 9 (access, rectification, erasure, restriction, and complaint to a supervisory authority).
If you delete your post on X, our stored excerpt does not disappear by itself — we do not receive deletion notifications. Tell us and we will remove it; otherwise it is deleted when the 12 months are up.
The table below lists everything set on this website. Names shown without a prefix additionally carry the __Secure- or __Host- prefix when served over HTTPS.
| Name | Provider | Purpose | Category | Lifetime |
|---|---|---|---|---|
cc_cookie | XPmetric | Stores your consent choice and the consent ID, so we can prove and honour it (Art. 7(1) GDPR) | Strictly necessary | 6 months |
authjs.session-token | XPmetric | Keeps you signed in | Strictly necessary | 30 days |
authjs.csrf-token | XPmetric | Protects sign-in forms against cross-site request forgery | Strictly necessary | Session |
authjs.callback-url | XPmetric | Returns you to the right page after sign-in | Strictly necessary | Session |
xpm_pending_domain | XPmetric | Remembers the domain you typed on the homepage so it survives opening a sign-in link in a new tab | Strictly necessary | 1 hour |
_xpm (sessionStorage) | XPmetric | Our own tracking script measuring this website, so a visit is counted once per session | Strictly necessary | Until the tab is closed |
xpm:* (local/session storage) | XPmetric | Interface preferences, for example whether a coach mark has been dismissed or the live map sound is on | Strictly necessary | Until you clear site data |
_ga, _ga_* | Distinguishes visitors for Google Analytics statistics | Analytics (consent) | Up to 2 years | |
| ProofSwap widget storage | ProofSwap | Set only after you click to load the testimonial widget | Embeds (consent) | Set by the provider |
cf_clearance, __cf_bm | Cloudflare | Set only if Cloudflare issues a security challenge, to record that it was passed | Strictly necessary | Up to 30 minutes / 1 year |
Withdrawing your consent (Art. 7(3) GDPR): you can change or withdraw your choice at any time via in the footer of any page. Withdrawal takes effect immediately and is as easy as giving consent, but it does not affect the lawfulness of processing carried out before you withdrew.
We do not sell, rent or trade personal data. We use the following service providers. Their contractual safeguards and processing terms are tracked in our compliance review:
| Recipient | Purpose | Location | Transfer basis |
|---|---|---|---|
| Hetzner Online GmbH | Servers and databases | Germany (exact datacenter pending confirmation) | EU — none needed |
| Cloudflare, Inc. | CDN, DDoS protection, Turnstile | USA / global edge | Contract and transfer safeguards under review |
| Stripe Payments Europe, Ltd. (with Stripe, Inc.) | Payment processing; optional Connect for customer revenue | Ireland / USA | Contract and transfer safeguards under review |
| Polar | Optional revenue attribution (owner-connected) | See provider | Owner-initiated connection |
| Google Analytics | Consented analytics on xpmetric.com | Ireland / USA | CMP-gated; Google Data Processing Terms accepted 4 April 2026 |
| Google OAuth | Optional Google sign-in | Ireland / USA | User-initiated sign-in |
| Google Analytics APIs | Optional historical GA4 import you initiate | Ireland / USA | User-initiated read-only integration |
| YouTube Data and Analytics APIs | Optional account-level channel reports and video metadata | Google-operated locations; project-specific location not confirmed | Owner-initiated read-only connection; private pilot. Not used for customer-site visitor analytics. |
| Google (gstatic favicon proxy) | Favicons in onboarding — proxied via our servers so Google sees our IP, not yours | USA | Proxied; domain string only |
| Resend, Inc. | Sending transactional email | USA | Contract and transfer safeguards under review |
| WhyDoesMySiteSuck | Site-health score for tracked domains | See provider | Domain string only |
| ExchangeRate-API | Currency conversion for revenue displays | See provider | No personal data (currency codes only) |
| IndexNow / Microsoft Bing | Notifying search engines of public URL changes | See provider | No personal data (public URLs only) |
| Let's Encrypt | TLS certificates for the origin server | See provider | Domain and server IP only |
| ProofSwap | Testimonial widget (only after you load it) | See provider | Consent-gated; transfer safeguards under review |
| X Corp. | Retrieving public posts mentioning a tracked domain | USA | Transfer safeguards under review |
The maintained Art. 28 sub-processor list (visitor analytics on behalf of customers) and the full recipient inventory are published at /subprocessors. The Data Processing Agreement covers processing of your visitors' analytics data.
Transfers to the USA carry the residual risk that public authorities there may access data under local law, and that the available legal remedies may not match those in the EU. Where a provider is certified under the EU-US Data Privacy Framework, the Commission's adequacy decision may apply; otherwise Standard Contractual Clauses may be needed. We are checking the applicable contract and transfer mechanism for each provider.
Our Hetzner servers holding account and analytics data are located in Germany; the exact datacenter remains to be confirmed. Other providers above may process data elsewhere. Data is encrypted in transit using TLS.
| Category | Retention |
|---|---|
| Analytics events (pageviews, custom events) | 2 years from the event, then deleted automatically by the database |
| Crawler and bot reports | 2 years from the request, then deleted automatically by the database |
| Account data and site configuration | Until you delete your account |
| YouTube channel reports and metadata | Daily rows cover at most 90 days; three API-returned 7/28/90-day snapshots and their limited video rows are kept while the connector purpose is current. Analytics authorization and channel metadata are independently reconfirmed within 30 days; stale report access is suppressed. Video title/availability and manual website campaign links expire or are removed within 30 days of their last ownership check. Disconnect/account deletion removes local reports and links immediately. If Google revoke is pending, only a minimal encrypted token and retry details remain for at most 7 days. Confirmed external revocation is handled promptly and within 30 days. |
| Analytics data after a subscription lapses | Deleted at the end of the grace period; the account and site configuration are kept |
| Billing records | Local billing rows are deleted with the account. The payment provider retains its own records under its applicable legal obligations. |
| Consent records | Kept as proof under Art. 7(1) GDPR while the consent is current, and afterwards for as long as needed to demonstrate compliance |
| Error and diagnostic logs | 90 days, then deleted automatically by a daily sweep. Any error log tied to your account is deleted immediately when you delete the account. |
| Email delivery logs | 12 months — kept to prevent duplicate sends and to honour unsubscribes — then deleted automatically |
| Public posts mentioning a tracked website | 12 months from the date of the post |
| Login sessions and sign-in links | Deleted automatically once they expire |
| Optional email-to-visitor attribution links | 30 days after the last capture, excluded from lookup immediately on expiry and removed by the daily sweep. Deleted on opt-out or site, account or analytics erasure. |
| Founder Survivors run validation | Run seed and frozen combat loadout expire after 24 hours and are removed by the next cleanup. Movement and choice proof is checked for a claim and then discarded. An earned Monolith trophy stays with your founder until you delete your account. |
| Founder World and verified-win share snapshots | Created only when you choose a share action. Anyone with the link can view its sanitized room or server-verified gameplay snapshot. It has no time-based expiry or individual revoke control and remains until you delete your account. Analytics-only erasure keeps this account-level snapshot. |
| Web server access logs | A rolling buffer of roughly 24 hours, for troubleshooting and abuse defence. Contains no IP addresses. |
You have the right to:
Right to object (Art. 21 GDPR)
Where we rely on legitimate interests (Art. 6(1)(f)) — security, error logging, product emails and public X mentions — you have the right to object at any time on grounds relating to your particular situation. We will then stop that processing unless we can demonstrate compelling legitimate grounds that override your interests. If you are the author of a public X post, section 5 describes how we handle an objection and how quickly. Where data is processed for direct marketing, you can object at any time and we will stop unconditionally.
You can exercise several rights yourself from your Settings: “Export My Data” downloads your profile, sites, event summaries, achievements and usage history as JSON, and “Delete My Account” removes your data. For anything else, email us — we respond within one month (Art. 12(3) GDPR).
Right to lodge a complaint (Art. 77 GDPR): you may complain to a supervisory authority, in particular in the member state of your residence, place of work or of the alleged infringement. The authority competent for us is:
Bayerisches Landesamt für Datenschutzaufsicht (BayLDA)
Promenade 27, 91522 Ansbach, Germany
www.lda.bayern.de
We do not use automated decision-making or profiling that produces legal effects concerning you or similarly significantly affects you within the meaning of Art. 22 GDPR.
Providing an email address is necessary to create an account and use the service — without it we cannot enter into the contract. Everything else is optional. Consent-based processing is entirely voluntary and refusing it has no consequence beyond the specific feature not loading.
Our tracking script honours the Do Not Track browser signal. When DNT is enabled, no analytics data is collected from that visitor.
We may update this policy as the service changes. If we make significant changes we will notify you by email or in the app, and where the change concerns consent we will ask for it again.
For privacy questions or to exercise your rights, email stefanrows@gmail.com or use the contact form.