Privacy Policy Text for Your Website

A ready-worded section you can paste into your own privacy policy — twice, short and detailed. Below it: what you have to fill in, and the five places where the text stops being true once you change a setting.

Last updated: 16 October 2026

Before you use the text

This is not legal advice. The text describes what MousePlayer actually does — not what is legally sufficient in your case. For your website you are the controller; the completeness and accuracy of your privacy policy are yours to answer for. Have the text reviewed before you publish it.

Three things the text assumes:

  • You obtain consent before recording starts. How to do that is described under MousePlayer and Consent. Without valid consent, no wording helps.
  • You have accepted the Data Processing Agreement. It is concluded on registration and is available under DPA.
  • Your settings match the defaults. If they do not, the text becomes wrong or incomplete in particular places — which five is explained further down.

The short version

For privacy policies that give each service one paragraph. The parts marked in yellow are yours to replace.

Session recording and heatmaps (MousePlayer) This website uses MousePlayer, an analytics tool provided by LW IT Solutions Company Lukas Wójcik, al. Tadeusza Kościuszki 80/82 lok. 301, 90-437 Łódź, Poland. Once you have given your consent, MousePlayer records how you use this website: mouse movement, clicks, scrolling, the pages you open, the structure and content of the pages shown to you, and technical error messages and loading times. From this it produces session replays and heatmaps, which we review in order to find usability problems and technical errors. We may also follow a session live while it is happening. Anything you type into a form is obscured in your browser before it is transmitted; fields recognised as password or payment fields are never recorded in clear text. Your IP address is stored only in truncated form; country and city are derived from it beforehand. The legal basis is your consent under Art. 6(1)(a) GDPR and, for storing information on your device and accessing it, the national law implementing Art. 5(3) of the ePrivacy Directive. You may withdraw your consent at any time with effect for the future: [HOW TO WITHDRAW]. Recordings are deleted automatically after no more than [RETENTION] days. MousePlayer processes this data solely on our behalf under a data processing agreement pursuant to Art. 28 GDPR. The servers are located in Łódź, Poland. For backup purposes, an encrypted copy is stored daily with Google Cloud Storage (storage location Poland, region europe-central2); only MousePlayer can decrypt it. MousePlayer itself does not transfer the data to countries outside the EU. To see which sessions are stored for you, go to https://mouseplayer.com/my-data. You can request their deletion there.

The detailed version

For privacy policies that list data categories, purposes and recipients separately — and for industries where people look more closely.

Session recording and heatmaps (MousePlayer) Purpose and description This website uses MousePlayer, a tool for recording and analysing sessions. It captures how visitors use the website and then presents the sequence as a replay and as a heatmap. We review this in order to identify usability barriers, drop-offs and technical errors, and to improve the website. We may also follow a session live while it is happening; no separate notice is given at the moment someone is watching. Provider LW IT Solutions Company Lukas Wójcik, al. Tadeusza Kościuszki 80/82 lok. 301, 90-437 Łódź, Poland, office@mouseplayer.com. MousePlayer is our processor under Art. 28 GDPR and processes the data solely on our documented instructions. Data processed — Device and environment data: browser and version, operating system, device class, screen resolution and window size — Behavioural data: mouse movement and pointer paths, clicks including a description of the clicked element, scroll depth, timestamps of interactions — Navigation and origin: pages and addresses opened, landing page, referring domain, campaign identifiers — The structure and content of the pages displayed, used solely to replay the session; this includes drawing surfaces (canvas) as an image, embedded frames of the same origin together with interaction inside them, and open shadow DOM regions, while embedded frames from other origins appear only as placeholders — A search index of the displayed texts, which lets us find sessions by a text that was displayed; it is deleted after 30 days — Technical diagnostics: error and warning messages from the browser console, failed or slow requests made by the page (without content and headers; texts are cleaned beforehand) and page loading metrics (Web Vitals) — A random identifier assigned in the browser to tell visits apart — The truncated IP address, and the country, city and network provider derived from the full address — Where we pass them: our own customer identifier (for example after you sign in) and a name we give a visitor in the analysis Your IP address The full IP address is used in memory to establish the connection, to determine country, city and network provider, and to prevent abuse. It is written to the database only in truncated form, and no full visitor IP address appears in the analysis. If an address triggers the automatic abuse defence (for example through a flood of connections), it is held in full for at most 24 h for a block. Form input Every character of every form input is replaced in your browser before it is transmitted. A replay shows that someone typed and how long they took — not what. Fields identified as password or payment fields always stay fully obscured. What the website itself displays — a confirmation page showing the address you entered, for instance — is part of the page and therefore part of the replay. Legal basis Your consent under Art. 6(1)(a) GDPR; for storing information on your device and accessing it, additionally the national law implementing Art. 5(3) of the ePrivacy Directive. Without consent the script assigns no identifier, stores nothing, opens no connection and records nothing. A Global Privacy Control signal from your browser is honoured and takes precedence over an approval. Withdrawal You may withdraw your consent at any time with effect for the future: [HOW TO WITHDRAW]. Withdrawal takes effect immediately: recording stops, the connection is closed, data not yet transmitted is discarded rather than sent, and the identifiers stored in your browser are deleted, provided the script is running on the page at that moment. Retention Recordings are deleted automatically after no more than [RETENTION] days. Records of the consent decision itself are kept longer; they contain no behavioural data, only the fact, time and source of the decision. Storage on your device MousePlayer sets no cookies on this website. After your consent it stores identifiers in your browser's local storage and session storage: mp_visitor_id, mp_session_data, mp_pv_count_*, mp_tab_id, mp_design_sent, mp_err_sig and mp_reibung; depending on the settings also mp_user_id, mp_seen_before, mp_offer_* and mp_umfrage. Withdrawing consent while the script is running on the page removes all of these identifiers and markers. Place of processing and recipients Processing takes place on MousePlayer's own servers in Łódź, Poland. The recording script transmits to that infrastructure only. For backup purposes, an encrypted copy of the database and the recording archive is stored daily with Google Cloud Storage (storage location Poland, region europe-central2); encryption happens before transfer and the keys remain with MousePlayer. Apart from the recipients we have chosen and named below, MousePlayer does not transfer the data to countries outside the EU. The full list of sub-processors is available at https://mouseplayer.com/en/company/sub-processors. On our instructions MousePlayer transmits individual items about visits — such as an identifier and the name of an event — to the following recipients we have chosen: [RECIPIENTS]. Your rights You have the right of access, rectification, erasure, restriction of processing, objection and data portability, as well as the right to lodge a complaint with a supervisory authority. To exercise them, contact us at: [YOUR CONTACT DETAILS]. At https://mouseplayer.com/my-data you can see directly how many sessions are stored under your browser identifier, from what period they date and on which websites they were created — and you can request their deletion. The page deliberately does not show the recordings themselves: the identifier is a key without a password.

What you have to fill in

The parts marked in yellow. The retention period depends on your plan — it is also shown in your project under Settings.

PlaceholderWhat belongs there
[HOW TO WITHDRAW]How your visitors take their consent back. With a consent tool that is its settings dialog — name the link or the button, for example "via the Cookie settings link in the footer".
[RETENTION]The retention period of your plan: Free 7, Small 30, Business 90 days. Enterprise as agreed with you. Do not state more than your plan actually provides.
[YOUR CONTACT DETAILS]Your own address or e-mail for privacy matters — not ours. For your visitors' data you are the controller and the first point of contact.
[RECIPIENTS]The interfaces you have switched on in your project – webhooks, BigQuery export, CRM, e-mail marketing, help desk, advertising networks, object storage or spreadsheets – each with the name of the provider. If you use none, delete the sentence. A BigQuery export can, on request, contain the individual events of the recording; if so, say this explicitly.
The headingAdapt it to the structure of your privacy policy. The name of the service should appear in it so that a visitor can find it again.

Five places where the text stops being true

The text describes the default settings. Change one of them and a correct sentence becomes a false promise — one that is then published on your website.

1. If you weaken the masking

The sentence "Every character of every form input is replaced" holds for full masking, which is the default. There are two weaker levels, and both require our written approval for your specific website. If you have one, replace the paragraph:

Selective masking: "Input into name, address, e-mail, telephone, payment and free-text fields is fully obscured. In other fields the digits are replaced and the remaining text is recorded." — No masking: "Your form input is recorded as you enter it. Password and payment fields are excluded."

2. If you exclude areas or paths

Excluding paths from recording or marking areas with data-mp-mask does not make the text wrong — but it does make it incomplete in your own favour. A sentence such as "The checkout and the customer area are not recorded" is a promise you keep and one that reassures your visitors. It is worth mentioning.

3. If you export data

Webhooks, BigQuery export and the other interfaces (CRM, e-mail marketing, help desk, advertising networks, object storage, spreadsheets) are set up by you, running with your credentials into systems you have chosen. MousePlayer does not know the recipient, which is why the detailed version contains the placeholder [RECIPIENTS]. If you use an interface, the destination belongs in your privacy policy — and, depending on where it goes, in your record of processing activities as well.

4. If you switch on exit prediction or an offer

Every visit is then scored in its first seconds, and an overlay on your page may follow from the result. Both belong in your privacy policy, because both go beyond plain recording: the scoring as profiling within the meaning of Art. 4(4) GDPR, the overlay as a measure the visitor actually sees. State the purpose, say that no decision with legal effect follows from it, and add the two storage keys mp_seen_before and mp_offer_* from the table below. For that overlay you are the controller — the wording, the threshold and whether it appears at all are yours.

5. If you switch on a survey

Then a question appears on your site, and the answer is stored together with the recording of the visit. This belongs in your privacy notice: name the purpose, say that answering is voluntary and that the answer is attached to the visit, and — if you ask a follow-up with free text — that the text is cleaned of e-mail addresses, IP addresses and longer digit sequences such as phone numbers before it is sent. Add the storage key mp_umfrage from the table below. You are the controller for the question and the follow-up; do not ask anything aimed at health, origin or another special category of personal data.

For your cookie and storage table

MousePlayer sets no cookies on your website. If you maintain a cookie table, the entries below belong under "local storage" — they are created only after consent and are removed on withdrawal, provided the script is running on the page at that moment.

KeyStoragePurposeDuration
mp_visitor_idlocalStorageRandom identifier that makes repeat visits from the same browser distinguishableUntil withdrawal or until browser data is cleared
mp_session_datalocalStorageIdentifier of the current visit including its origin, so that multi-page journeys are held together30 minutes without activity
mp_pv_count_*localStorageCounts the page views within one visitSame as the session
mp_tab_idsessionStorageDistinguishes several open tabs of the same sessionUntil the tab is closed
mp_design_sentsessionStorageRemembers that this page's colours and font have already been measured in the tab; contains no information about the visitorUntil the tab is closed or until withdrawal
mp_err_sigsessionStorageRemembers which script errors on this page have already been reported in the tab, so an error firing in a loop arrives only once; contains no information about the visitorUntil the tab is closed
mp_reibungsessionStorageKeeps the last three pages visited and the times of reloads, to recognise an immediate return or repeated reloading as a usability problemUntil the tab is closed
mp_user_idlocalStorageOnly if you pass your own user identifier yourselfUntil withdrawal
mp_seen_beforelocalStorageOnly where exit prediction is switched on: records that the browser has been here before — one of the features of the predictionUntil withdrawal or until browser data is cleared
mp_offer_*localStorageOnly where you switch on an offer: counts how often it was shown today, so the daily cap is keptOne entry per calendar day; until withdrawal or until browser data is cleared
mp_umfragelocalStorageOnly where you switch on a survey: keeps, per survey, whether this browser is part of the sample and when it was last shown, so nobody sees the same question too often; contains no answersuntil consent is withdrawn or browser data is cleared

There is one further key that does not belong in the table: mp_exclude is something you set in your own browser to keep your own visits out of the recordings. It is created only by your own action and never on a visitor's device.

The link to the self-service page is not decoration

A visitor's identifier lives in the storage of your website. Browsers keep that storage separate per site, and MousePlayer deliberately does not merge it — which is why mouseplayer.com cannot read it on its own. Anyone who wants to see or delete their data gets there through the link in your privacy policy. Without it, the route is effectively closed to your visitors, and the request lands on your desk instead.

That is why both versions of the text point to mouseplayer.com/my-data. Keep it, even if you shorten everything else. How the page works is described under Access and Erasure.

The link can carry the identifier itself. MousePlayer.privacyUrl() returns the finished address including this browser's identifier — the visitor then has nothing to type on the target page. The language follows your page's lang attribute. Without consent nothing was recorded, there is no identifier, and the function returns null: a link that finds nothing would be worse than the static one.

Attach the call to the click, not to page load. mp.js loads asynchronously, and privacyUrl only comes into being behind the consent gate — so when an inline script runs, the function is usually not there yet. The static link in href stays and covers every case where nothing loaded.

<a id="mp-daten" href="https://mouseplayer.com/my-data">My stored data</a> <script> document.getElementById('mp-daten').addEventListener('click', function () { var u = window.MousePlayer && MousePlayer.privacyUrl && MousePlayer.privacyUrl(); if (u) { this.href = u; } }); </script>

Where the statements come from

Every sentence in the text can be checked against a document. If you want to delete or reword one of them, look there first to see what actually happens: