Privacy
Privacy policy
Last updated: 2026-08-02
My1RM does not require an account. One-rep-max calculations run in your browser. Usage measurement and ranking submissions are described below.
Anonymous usage measurement
My1RM records a short list of product milestones: page view, first calculator input, completed three-lift estimate, displayed demo percentile, and ranking submission attempt, success, or failure. Each row contains only the milestone name, a random per-tab session ID, a client-asserted internal flag, and a server timestamp.
The usage endpoint rejects exercise weights, bodyweight, sex, age, location, raw IP, names, emails, and extra fields. The session ID is not reused across browser tabs and is not an account or a persistent visitor ID. Usage rows remain in the D1 database until the operator removes them.
Browser storage
The selected language and the operator's internal-device exclusion flag are stored in localStorage. The random analytics session ID, a separate random ranking session ID, and the list of milestones already sent in that tab are stored in sessionStorage. A device marked as internal sends the same minimal milestone requests with its internal flag set; internal rows are excluded from the default reports. Clearing site data removes this browser flag, so it must be set again before another internal check. Explicitly turning the internal flag on or off starts a fresh analytics tab session so internal and external milestones are not mixed in one session.
Hosting analytics
Cloudflare hosts this site, and Cloudflare Pages Web Analytics measures aggregate traffic and performance separately from My1RM's D1 event rows. Cloudflare states that Web Analytics does not collect or use visitors' personal data and does not use cookies, localStorage, or fingerprinting.
Ranking records
A ranking record is saved only when you press the ranking button. It contains estimated squat, bench press, deadlift, and total one-rep max, selected sex and age band, and a coarse city and country derived from Cloudflare request metadata. Calculation and demo-percentile display do not submit a ranking record. A separate random per-tab ranking key is saved with the row only to replace a later submission from that tab; it is not reused as an account or persistent visitor ID.
A browser marked as internal receives a no-store confirmation. My1RM does not query aggregate standing data or save an operator ranking submission for that request. External ranking responses contain only aggregate standing numbers and whether the row was stored; they do not return the stored city or country. There is no public endpoint that lists ranking records.
My1RM does not read or store the raw client IP in its D1 tables. Ranking records have no name, email, account, or persistent visitor ID.
Cookies and advertising
The MVP does not set advertising cookies because Google AdSense has not been enabled. If advertising is enabled later, this policy and the site's consent controls must be updated before personalized ads are served where consent is required.