Privacy
I run Gym Software Costs (gymsoftwarecosts.fyi).
Short version: the calculators run in your browser. Price changes, vendor suggestions, sponsorship enquiries and messages are handled through forms hosted by FormRobin (linked on Contact & corrections and Advertise); an optional email address is used only to follow up on the submission, and a notification copy comes to me. An optional monthly price re-read email is sent through SendFox to people who sign up on its hosted form. Every page loads DataBull, an analytics script that counts page views and visit activity. It is covered under Analytics and Cookies and browser storage below. Apart from that script, this site’s own files contain no accounts, checkout or chat code (the email signup is a link to a form hosted by SendFox), and no code that transmits calculator inputs.
As of 2026-10-28: this notice describes the current build, the hosted FormRobin forms and the SendFox email signup. It will be revised if the site’s data handling changes.
Calculator inputs
Values you type (active members, monthly dues, card share, hypothetical rates and similar) are read by the page’s own JavaScript to render results. They are not submitted to this site or stored, and the DataBull script does not read form fields. On 2026-10-28, the calculator’s own files (calc.js, data.js and sync.js) contained no fetch/XHR/beacon/WebSocket calls, no cookie-setting code and no localStorage/sessionStorage use; the DataBull script’s cookies and browser storage are described below.
Forms (FormRobin)
The price-change, vendor-suggestion, sponsorship and contact forms are hosted by FormRobin, a separate form service, and linked from Contact & corrections and Advertise. If you submit one, FormRobin processes the details you enter. They are used only to review the correction, suggestion, enquiry or message, and to check the source before any price or vendor detail changes. If you give an optional email address, it is used only to follow up about that submission; it is not added to the price re-read email list or used for marketing. A notification copy of each submission is emailed to me. An optional screenshot is handled the same way, and the form asks you to crop account or customer details. FormRobin’s own terms and privacy policy apply on its pages. FormRobin’s page scripts, cookies, retention, security or deletion practices have not been independently verified, and this notice makes no claim about them. No calculator input is sent to FormRobin by this site.
Price re-read emails (SendFox)
The signup button on Updates opens a form hosted by SendFox, an email service run by Sumo Group, Inc. The form asks for an email address. If you sign up, SendFox stores your address and sends a confirmation email first (double opt-in); until you click the link in it, you won’t get any emails. The address is used only to send the monthly price re-read summary for Gym Software Costs. On 2026-10-28 the SendFox form page (signup form) loaded Google’s analytics tag and Google reCAPTCHA. SendFox’s privacy policy applies on its pages. SendFox’s retention, security and deletion practices have not been independently verified, and this notice makes no claim about them. To stop the emails, use the unsubscribe link in any email or send a message through Contact & corrections. No calculator input is sent to SendFox by this site.
Hosting
The pages are served by a static hosting provider. Like any web host, the provider may process connection data such as IP address, requested path, user agent and timestamps in its own logs. The host’s logging, retention, security or deletion practices have not been verified. I choose the final hosting provider and its settings at launch; no provider-specific privacy claim is made here.
Analytics
I use a self-hosted copy of DataBull that runs in my own Cloudflare account. The script and the address it reports to are on databull.dc_cqz1i3iab0nugf) are stored in my Cloudflare D1 database. According to DataBull’s privacy policy (last updated 24 October 2026), this data is never sent to DataBull, and the install contacts databull.app only for license checks (license key, activation id and install name) and a daily update check, and neither carries visitor data. For this data I am the controller and Cloudflare is my processor. I have chosen to keep analytics data in DataBull (page views, events and sessions) for up to 3 years; DataBull’s retention setting keeps data indefinitely until it is changed, and its daily cleanup then removes older data (see DataBull’s data retention docs).
The script sends a page view on each page load, a heartbeat about once a minute while the tab is visible and once more when the tab is hidden or closed, engagement data (how far down the page you scrolled and active time, capped at 30 minutes), and clicks on links to other sites (the link address and up to 100 characters of the link text). Events can include the page address, the referring page, window and screen size, browser language, time zone, a random visitor ID and session ID, the time of the first recorded visit, a visit count, and campaign tags or ad click IDs (such as utm_source or gclid) when they are in the link you arrived from. Because these requests go to my Cloudflare Worker, Cloudflare processes your IP address and other information about each request, such as the browser details your browser sends with it (see Cloudflare’s privacy policy). The script does not read form fields. It does not count browsers that identify as automated or headless, though it still sends a short bot notice with the page address, and it does not run inside frames. It does not act on Do Not Track or Global Privacy Control signals. More detail is in DataBull’s documentation.
To stop counting from one browser, open any page of this site with ?databull_ignore=1 added to the address, as described in the DataBull tracking script docs. This saves an opt-out flag in that browser’s local storage, and ?databull_ignore=0 removes it. Blocking the DataBull host with a content blocker, or turning off JavaScript, also keeps the script from loading.
Cookies and browser storage
DataBull lets me choose, for each website, between first-party cookies, cookieless tracking, or cookieless tracking until a consent banner reports consent (databull.app). With cookies on, the script stores its IDs in first-party cookies for gymsoftwarecosts.fyi: datacheap_visitor_id, datacheap_visitor_first_seen_at and datacheap_visitor_session_count (365 days each), and datacheap_session_id and, when you arrive from another site or with campaign tags, datacheap_session_source (30 minutes each). These cookies are set with SameSite=Lax and, on HTTPS, Secure. In the cookieless modes it keeps the IDs in page memory only and deletes these cookies if they exist. This site has no consent banner, so the consent option would keep DataBull cookieless. In every mode the script writes datacheap_pageview_state (the last page address and time, used to skip repeat counts of the same page within a minute) to session storage, which your browser clears when the tab closes. It also reads the opt-out flags datacheap_ignore and datafast_ignore from local storage, where they stay until removed.
Third-party links
Vendor and privacy links go to external sites. Their own terms and privacy practices apply once you follow a link.
Changes
If any other data collection, embedded content, accounts or checkout is added, this notice must be revised before those features are enabled. The hosted forms are described above. Questions or corrections: Contact & corrections (use the forms there; no email address is published).