PercentBox
PercentBox

Privacy Policy

Last updated: October 7, 2026

Overview

PercentBox (“we”, “our”) provides free online percentage calculators and written guides at percentbox.com. The publisher is Ricardo Rodrigues (Portugal). This policy describes what the site actually does: calculations in your browser, a few pieces of storage on your device, optional Google Analytics 4, and optional Google AdSense. It also describes the limits of the consent banner, which is a first-party control and not a certified consent-management platform.

Who is responsible

The person responsible for this site is Ricardo Rodrigues, in Portugal. Contact hello@percentbox.com. There is no separate data-protection officer and no company registration published for PercentBox. This policy does not claim that a supervisory authority has reviewed or approved the site.

Personal data the site processes

Numbers you type into a calculator stay in the browser. They are not sent to a PercentBox server and are not used to build an advertising profile. If you email us, we receive the address you send from and whatever you put in the message. If you accept analytics or ads, Google receives the data those products normally collect (such as cookie identifiers, pages visited, and coarse technical data). The host, Vercel, may keep ordinary server logs: IP address, user agent, and timestamps. Those logs are not the calculator inputs.

Theme and calculation history live in local storage on your device. We do not receive them. The consent cookie (pb_consent) stores only Accept or Reject so the banner can remember the choice.

Calculator data

Numbers you enter are processed in your browser. We do not require an account and we do not store calculation inputs on our servers. Emailing us is a separate choice; the message contains whatever you put in it.

Storage on your device

These are the names the site itself writes. Advertising and analytics cookies appear only if those scripts are allowed to load, and Google — not PercentBox — sets their names and lifetimes.

NameWherePurpose
percentbox-themelocalStorageLight or dark theme. Not used for ads.
percentbox-historylocalStorageUp to 10 recent calculation summaries on this device.
pb_consentcookieStores Accept or Reject for about 180 days so the banner can remember you.
Google Analytics cookiescookieOnly if analytics is allowed to load. Typically include cookies such as _ga.
Advertising cookiescookieOnly if the AdSense script is allowed to load. Google may set cookies to measure and (where permitted) personalize ads.

You can clear localStorage and cookies in your browser. Clearing them removes theme, history, and the stored consent choice, so the banner will ask again.

Consent banner

A banner at the bottom of the page offers Accept and Reject non-essential. Non-essential means Google Analytics and ad requests. Theme and calculation history are not gated, because they stay on your device and are part of using the calculators.

When ads are enabled, the page includes the AdSense library (adsbygoogle.js) in the HTML so the ad code is present without waiting for a click. Ad requests are paused until serving is allowed. If you reject, they stay paused. Analytics is not added. If ads or analytics were already allowed in that visit, the page reloads so those requests stop. If you accept, Consent Mode is updated to granted and paused ad requests are released. Analytics may load at that point.

EEA, UK, and Switzerland default. Before a choice is stored, the site treats the browser as in the EEA, the UK, or Switzerland when the timezone is in Europe (or a few Atlantic territories such as the Azores, Madeira, and the Canary Islands) or when the browser language region is an EEA, UK, or Swiss country code. In that case analytics is not loaded and ad requests stay paused until you accept. Elsewhere, analytics loads and ad requests are allowed unless you have rejected them, and the banner still lets you reject. Switzerland is included because Google’s ad-consent rules cover it, not because this page claims to implement the Swiss Federal Act on Data Protection in full.

That test is a lightweight heuristic. It is not an IP-address lookup, not a geolocation prompt, and not an IAB Transparency and Consent Framework platform. It can misclassify a traveler, a VPN, or a browser whose language does not match where the person is. Cookie settings in the footer reopens the choice.

The library tag is in the HTML for every visitor when ads are enabled, which is what an ad crawler needs to see without clicking Accept. Google describes pauseAdRequests as blocking ad requests: while it is set, the library can still download, existing cookies on Google’s domains may be read, and new ad cookies should not be set. That is Google’s description of the pause flag, not a separate promise from PercentBox. Google’s own ad crawlers — user agents that identify as Mediapartners-Google, Google-Display-Ads-Bot, or AdsBot-Google — are not people. If that user agent runs the page script, ad requests are unpaused so review can request ads. That path does not write the consent cookie and does not load Google Analytics. Pretending to be one of those crawlers is the only way a visitor bypasses the pause without Accept.

When the scripts are allowed to run, the page sets Google Consent Mode defaults for ad_storage, ad_user_data, ad_personalization, and analytics_storage to match that choice. Consent Mode is a signal to Google tags. It is not, by itself, a guarantee about how every ad product behaves in every country.

Cookies, ads, and personalization

If AdSense loads, Google may use cookies and similar technologies to show ads, measure them, and limit fraud. Third parties, including Google, may use advertising identifiers to serve ads based on visits to this and other sites where personalization is permitted. In the EEA, the UK, and Switzerland, personalized ads generally should not run unless a valid consent exists. PercentBox’s banner is the control we provide. It is not a Google-certified consent-management platform and it does not create an IAB Transparency and Consent Framework string. Google’s own AdSense policy, in place since January 16, 2024, requires a certified CMP integrated with that framework when serving ads to users in the EEA, the UK, and Switzerland. TCF version 2.3 became mandatory for consent strings generated on or after March 1, 2026. Until a certified CMP is added, ad requests from those regions may be limited or dropped even if someone clicks Accept here. Consent Mode is still sent, because it tells Google’s tags what the banner recorded. It is not a substitute for a TCF string.

You can review ad personalization in Google Ads Settings and read how Google uses data when you use our partners’ sites or apps. Rejecting non-essential cookies pauses further ad requests and keeps analytics from loading. It does not remove the library tag from the HTML, and it does not delete cookies Google may already have set. Clear cookies in the browser for that.

Manual ad units appear only when a placement ID is configured. Empty placement settings do not insert placeholder boxes. Auto ads, if enabled in the AdSense account, are placed by Google’s script rather than by a slot we invented.

Analytics and how to opt out

When analytics is allowed and a measurement ID is configured, we use Google Analytics 4 for pages visited, coarse traffic source, device type, and calculator events such as copying a result. IP anonymization is requested where the tag supports it. Google’s own policy describes what it does with that data.

You can opt out by choosing Reject non-essential on the banner, by installing the Google Analytics Opt-out add-on, or by blocking the analytics domain in the browser. Rejecting on this site stops the tag from being added on subsequent loads.

The host (Vercel) may keep standard server logs — IP address, user agent, and timestamps — for security and reliability. Those logs do not contain what you type into a calculator. One exception: calculators keep your inputs in the page address so you can share a result. If you open or share such a link, the numbers in it are part of the requested URL and can appear in those logs, in your browser history, and wherever you paste it.

PercentBox also uses Vercel Web Analytics to count page views. It does not set cookies and does not build a profile of you across sites; it records the page path, referrer, country, and device/browser type in aggregate so we can see which pages people actually use. See Vercel’s analytics privacy notes.

Why this data is used

Where the GDPR applies, these are the bases we actually rely on. They are not a certificate of compliance.

  • Ad requests and analytics run only after Accept (or, outside the EEA, UK, and Switzerland heuristic, until you Reject). The basis for that optional processing is consent. The AdSense library file is referenced in the page HTML whenever ads are enabled, including before a choice, with requests paused where the banner has not allowed them. Reject, or Cookie settings in the footer, withdraws consent for later requests. Withdrawal does not undo a request Google already received.
  • The consent cookie is stored so we can honor that choice.
  • If you email us, we use the address and the message to reply. That is processing you started by writing. We do not add the address to a marketing list.
  • Server logs, when the host keeps them, are used to operate and secure the site. Where an IP address in those logs is personal data, the basis is the legitimate interest in keeping the service available and diagnosing abuse. We do not use those logs to build an ad profile, and this policy does not claim a formal legitimate-interest assessment has been filed anywhere.

Calculator results are not automated decisions that produce legal effects. They are arithmetic on numbers you typed.

How long it stays

The consent cookie is kept for about 180 days, then the banner asks again. Calculation history is at most ten summaries and stays until you clear it or clear site data. We do not set Google’s cookie lifetimes; Google does, and only if its scripts were allowed to run. Email is kept long enough to handle the question and any follow-up. We do not publish a longer mailbox archive than that.

International transfers

PercentBox does not run its own servers outside the host we use. Vercel may process requests, including log data, in the United States or other countries. If you allow Google Analytics or AdSense, Google may process that data outside the EEA under Google’s own terms. Those terms describe Google’s transfer tools. We do not operate a separate transfer contract of our own, and we do not claim to have signed standard contractual clauses in PercentBox’s name beyond whatever the host and Google already require of a publisher account.

Your rights

If the GDPR applies to you, you can ask for access, rectification, erasure, restriction, or a copy of personal data we actually hold, and you can object to processing that is based on legitimate interests. You can withdraw consent for analytics and ads at any time with Cookie settings. You can also lodge a complaint with a supervisory authority. In Portugal that authority is the Comissão Nacional de Proteção de Dados (cnpd.pt). If you live elsewhere in the EEA, the UK, or Switzerland, you may complain to the authority in your country instead. We will respond to requests sent to hello@percentbox.com. Calculator inputs that never left your browser are not data we can retrieve.

We do not sell personal information. We do not trade calculator inputs for ads.

Children

The site is a general-purpose calculator and is not directed at children under 13. We do not knowingly collect personal information from children.

Contact

Privacy questions: email hello@percentbox.com with “Privacy” in the subject, or use the contact page. Please include the page URL and whether you are asking about the banner, analytics, or ads.

Changes

We may update this policy as the banner or the tags change. The date at the top moves when we do. Continued use of the site after an update means you are using it under the revised policy.