BMX Motos

Privacy Policy

BUILDMYPAGE, LLC · Effective October 26, 2026 · Applies to the BMX Motos app for iOS and Android, the web app at app.bmxmotos.net and the website bmxmotos.net

The short version

1. Who we are

BMX Motos is made by BUILDMYPAGE, LLC ("we", "us"). It is an independent, unofficial companion app for BMX racing families. We are not affiliated with, endorsed by or connected to USA BMX or the American Bicycle Association. Questions about this policy go to the address in section 11.

2. What stays on your phone

An account is optional (section 4). These settings are stored only on your device and never uploaded, except where section 4 says so:

Deleting the app removes all of it. Removing a transponder in the app also removes its saved times.

The web app

The web app at app.bmxmotos.net is the same app running in a browser, and everything this policy says about "your phone" applies to that browser. Your tracks, starred riders, transponder numbers, theme, the cache of race data and, if you sign in, your session are kept in the browser's own storage for app.bmxmotos.net (local storage, not cookies). Clearing the site's data in the browser removes all of it. The web app has no race night alerts, so it never holds or sends a push token.

One thing works differently there. A browser is not allowed to read my.sqorz.com directly, so for My Sqorz Times the web app asks our server, which passes the transponder number to Sqorz and hands the answer back. Our server does not store the number or the times; the answer can sit in Cloudflare's cache for about a minute. Photos are picked with the browser's own file chooser and shrunk in the browser before upload, as on a phone.

Visit statistics on the website and in the web app

The pages at bmxmotos.net that describe the app (the home page and Support) and the web app at app.bmxmotos.net use Google Analytics to count visits, to see which pages get used and to see how people find them. When you open one of them, your browser loads a script from Google, Google sets cookies in your browser (their names start with _ga) and receives your IP address, from which it works out an approximate location (a city or region), the address and title of each page you open, links you follow from it, the page that sent you there, and your browser and device type. In the web app a page's address or title can name a track, a race, or the rider or team page you are looking at. Google is not sent your email address, your starred riders, your list of tracks, what you search for on a board or anything stored in an account. We see totals, not names, and we connect none of it to an account. The phone app, the rider and team pages at bmxmotos.net and this policy page do not load Google Analytics. To stay out of it, block cookies for bmxmotos.net or install Google's opt-out add-on (tools.google.com/dlpage/gaoptout).

3. Where the race data comes from

Moto boards, schedules, results, leaderboards and points are the public pages of usabmx.com and its live moto-board service, the same ones anyone can open in a browser. Your phone never contacts usabmx.com for data. Instead it asks our own server (a Cloudflare Worker at api.bmxmotos.net), which reads those pages once and serves every phone from that copy.

Boards show what a track's office published: rider names, plate numbers, class, city and state, gate lanes and finishes, exactly as on the printed moto sheet. We look up nothing else about any rider and we do not change or add to that data. If you want something about a rider corrected or removed, the track and USA BMX control the source; we mirror it.

The weather forecast on a track page and on race cards comes from Open-Meteo (open-meteo.com). Our server asks for it with the track's location, at most once an hour per track. Nothing from your phone goes to Open-Meteo, and your own location is never used for it.

Before a national, Gold Cup or state-series weekend, USA BMX posts a pre-sign report on usabmx.com (a public PDF listing the riders pre-registered for each day, with their class, plate and member number). Our server reads those reports a few times a day and shows them in the app by class and day, so you can see who is entered without downloading the file; the app matches the riders you have starred against it on your phone. We show only what the report prints, and nothing from your phone goes to USA BMX for it.

A rider's "season" (under a name on a live board, on a posted result, or on a profile with a USA BMX link) is read from the results tracks post on usabmx.com: for each track the app's users follow, our server keeps a copy of the posted placings (rider name, member and profile number, class, place, race and date, as the public result lists them) so it can show a rider's placings across race days and count the wins the USA BMX rulebook asks for before moving up a class. The rider's current skill comes from the public USA BMX profile when a profile number is known. That copy holds nothing a posted result does not already show, and nothing from your phone goes into it; a number of earlier wins you type in stays on your phone. The same copy gives a track's season leaders per class, the small wins tag beside a name on a live board, the riders a rider has raced most, and the places of your starred riders in a "Results are posted" alert.

Practice lap times (My Sqorz Times) come from Sqorz, the timing system many tracks run for practice, which is not USA BMX. Your phone reads one transponder's runs from my.sqorz.com by the number you entered (section 5), and the Insights tab (sectors, holeshot, ideal lap, best lap per night) is worked out on your phone from those runs. The Track board tab is the monthly leaderboard Sqorz itself publishes for a track on our.sqorz.com: every rider's best time at each timing loop that month, with name, plate, age and class as Sqorz prints them. Our server reads a track's board at most once an hour and shows it as published; your phone asks our server for it by the Sqorz id of your latest practice session, which names the track's night, not you, and the transponder number itself is never sent to our server for it. Your own row on the board is matched on your phone.

4. What your phone sends to our server, and why

Every request

Each time the app loads race data, our server receives the same things any web server does: your IP address, the request itself, and the app's version. We use this only to serve the request and to keep the service running. We do not log it ourselves for profiling, and we do not link it to anything about you. Cloudflare keeps short-lived operational logs (see section 6).

A daily, anonymous count of users

Once a day, the first time you open the app (or the web app at app.bmxmotos.net), it tells our server which kind it is (iPhone, Android or web) and the day, week and month it was last counted in. The server adds one to a running total for each new period and answers with the current ones, which the app keeps so it is not counted twice. Nothing else goes with it: no id, no push token, no account, no location. The server stores only the totals (for example "Android, October 12: 40"), never the request, so we can see how many people use BMX Motos but not who. Deleting the app or clearing the browser's data makes the next launch count as a new install. While the app is open and on screen it also says "open now" with only its kind, at most once every five minutes; the server adds one to that five-minute total, so we can see how many people use it at the same time, and keeps those totals two days. The phone app (not the web app) also says which app update it is running, by the update's id and the date it was published, once a day and whenever it changes; the server keeps only how many phones run each update today and this week, so we can see how many are behind. When you open the Gate Trainer it says so once a day, and each start you run says "start", again with only the kind of app; the server keeps a daily total of each, so we can see how much the Gate Trainer is used.

Race days near you (location, optional)

Location is off until you tap "Use my location" or "Sort by distance". The app then takes one foreground fix; it never tracks you in the background. On your phone the fix sorts tracks by distance. For the "Near me" list the app sends our server your latitude and longitude rounded to one decimal place (roughly 11 kilometers, or 7 miles) plus the search radius. The server uses those rounded coordinates only to answer that request and as a cache key for five minutes so nearby phones share one lookup; nothing is stored against you. Your phone remembers the last fix so the list renders instantly next time; deny or revoke the permission in your device settings at any time.

Gate Trainer. More → Gate Trainer plays a start cadence for practising at a gate. Its "Phone on bike" option reads the phone's motion sensor (your phone asks for permission first) to time the launch from the green light; the readings are used on the spot and thrown away, and the times are kept only on your phone. Nothing from Gate Trainer is sent to our server or anyone else.

Race night alerts (push notifications, optional)

If you allow notifications, the app registers this phone with our server so it can send "Racing is LIVE" and "Motos have been updated" for your tracks, your starred riders' finishes, race day reminders (the evening before a race at your tracks, results posted, presign open for a race weekend in your state), and "New on Buy & Sell" if you ask for that. That registration contains:

The token identifies an app installation, not you; we cannot tell who owns it. Every change to your tracks or stars, and every app launch while alerts are on, re-sends the whole registration so it stays current. Switching alerts off (More → Notifications) deletes the registration from our server immediately. Alert messages travel from our server through Expo's push service to Apple or Google, who deliver them to your phone (section 5).

Account (email sign-in, optional)

You can sign in with your email address from More → Account. Nothing in the app requires it. Signing in sends your email address to our server, which emails you a 6-digit code (through Resend, section 5). Once you enter it, our server keeps:

Codes are stored only as one-way hashes and expire after ten minutes. Signing out removes the session and the link to this phone. "Delete account" removes your email address and every session immediately. Only the app's administrators can see the list of signed-in members and their phones' alert registrations.

Rider profile and garage (optional, needs the account)

From More → My profile and More → My garage you can build a rider page: a handle, display name, bio, links to your social accounts and to your public rider profile on usabmx.com (you paste that link yourself; we never sign in to USA BMX and do not verify it), and a garage of bikes with their builds and photos. All of it is stored on our server against your account and is private until you switch "Public profile" on. Public means anyone with the link (/p/your-handle on our server, or the app) can see the page; we ask search engines not to index it. "Show my garage" and each bike's own switch decide what the page shows. You can flip any of it off, edit or delete any bike or photo at any time.

Photos. The camera and photo library are used only when you add a photo, and only for the photo you pick. The app shrinks and re-encodes the picture on your phone before upload, so no camera metadata (including the location a camera writes into a photo) ever reaches our server. Photos are stored on our server (Cloudflare) under random names; a public bike's photos are viewable by anyone who has the link.

Scan for parts. When you tap "Scan for parts" on one of your photos, our server sends that single photo to Anthropic's Claude API (section 5), which returns the names and positions of the bike components it can see and any brand names legible on them. That answer is stored with the photo so it is not re-sent, and you can remove any marker. Anthropic processes the photo to answer the request under its API terms and does not use it to train its models. Your phone never talks to Anthropic, and photos of people should not be uploaded: the scan is for bikes.

Reports. Anyone can report a public profile from the app or the page; we keep the report (the handle, the reason given, the reporter's IP address or account) and may hide the profile while we look. Hiding a profile on your phone is stored only on your phone.

Teams (optional, needs the account)

From More → My team a signed-in manager can create a team and list its riders so the app can show them together on race day. A roster entry is what a public moto board already shows about the rider: the name, the plate number, and the board, member or profile number that tells two riders with the same name apart. Nothing else about a rider is stored, riders are not contacted, and a roster is visible only to its manager unless the team page is published. Riders are added by picking them from a moto board, from the manager's starred riders or from the rider search, which looks through the riders public moto boards showed in the last year (name, plate, board number, state and the track they last raced at); our server keeps that list for the search and drops a rider a year after their last board. A manager can also paste a rider's usabmx.com profile link: our server looks that one profile up on usabmx.com and uses only the name, the profile and member numbers, the home track, the state and the skill (Novice, Intermediate or Expert, as the public profile prints it; held for a day to answer repeat lookups); the roster keeps the name and the two numbers. Nothing else from that profile, such as a birth date or city, is kept or shown.

The team page (a name, a handle, a description, a logo and links, and the roster as names and plates if the manager chooses to show it) is private until the manager switches it on and we have reviewed and approved it; changing the team's name or address sends it back to review. We ask search engines not to index it. If your name or your child's name is on a team page and you want it removed, use Report on the page or write to the address in section 11 and we will remove it, normally within a day.

If race night alerts are on, the board numbers of the manager's roster are added to that phone's alert registration (above), so alerts can lead with the team's riders. Anyone can report a public team page; we keep the report as we do for profiles.

Buy & Sell (optional, needs the account)

From More → Buy & Sell a signed-in member can list a BMX bike, part or piece of riding gear for other families. A listing is the title, category, condition, price, description and photos you write, the track you pick as the meeting place, whether you will ship, and an optional phone number. It is stored on our server against your account and shows to others only after one of our admins has looked at it; it comes down after 30 days unless you renew it, and you can edit, mark sold or delete it at any time. Browsing needs no account. The pickup track is a track from our directory, never your home address: buyers search by distance from a track, and the app sends the point it searches around rounded to one decimal, as "near me" does, without keeping it.

What others see. Anyone can see a live listing: the item, its photos, the pickup track and whether it ships, and your profile name or handle if you set one (otherwise "a BMX Motos member"). Your email address is never shown. The phone number, if you add one, is shown only to signed-in members. Our admins see which account posted a listing.

Messages. "Message seller" sends your message to the seller by email from our address with your email address as the reply-to, so the two of you carry on by email outside the app. We keep no copy of the message beyond the delivery log of our email provider (section 5). A member can hide a seller, after which neither can message the other through the app.

Money. No payment happens in the app and we never see one. The sale, the payment and any shipping are between the buyer and the seller; BMX Motos is not a party to it and cannot settle disputes.

Reports. Anyone signed in can report a listing (we keep the listing, the reason, the reporter's account); an admin can take a listing down with a reason that is emailed to the seller. Listing photos follow the garage's photo rules above: shrunk on your phone, no camera metadata, random names on our server, deleted with the listing.

The moto on the gate. When the scorer's postings run behind the start hill, a signed-in member at the track can report which moto is staging. The report carries the moto number, the race day and round, the time, your account, and whether your phone stood within a few miles of the track (a yes/no worked out on the phone; the location itself never leaves it). The board shows the number and how many people reported it, never a name; admins can see which account made a report, give a member standing, or stop their reports. Reports are kept 30 days and go when you delete your account.

5. Third parties

WhoWhat they seeWhy
Resend (resend.com) Your email address and the sign-in code, only when you ask for a code. Resend delivers the sign-in email. Their privacy policy applies to that delivery.
Cloudflare Your IP address and each request to our server, as the host of that server. Hosting, caching and abuse protection for our server. Their operational logs are short-lived.
Anthropic (anthropic.com) One bike photo at a time, only when you tap "Scan for parts" on your own photo. Claude names the components in the photo. Processed under Anthropic's API terms; not used to train its models.
Expo (Expo Application Services) Your push token and the text of each alert when we send one; your IP address, platform and app runtime version when the app checks for an over-the-air update at launch. Expo issues push tokens and relays alerts to Apple and Google. Expo also hosts the app's JavaScript updates, so the app can be fixed without a store release.
Apple (APNs) and Google (FCM) The alert and the device it is for. They deliver push notifications on iOS and Android. Their own privacy policies apply.
Sqorz (my.sqorz.com and our.sqorz.com) The transponder number you typed and your IP address, because your phone queries my.sqorz.com directly for practice times and for the transponder's subscription state. In the web app the lookup goes through our server (section 2), so Sqorz sees our server's address instead of yours. The monthly track board is read from our.sqorz.com by our server (section 3), so Sqorz sees only our server's address for it. Practice lap times and the track boards exist only there. Nothing else is sent to Sqorz. Sqorz's privacy policy applies to those lookups.
Open-Meteo (open-meteo.com) Nothing from your phone. Our server sends it a track's coordinates and gets that track's forecast back. The weather on track pages and race cards.
USA BMX (usabmx.com) Nothing from your phone for race data (our server reads their public pages). When you tap a link such as "Presign on usabmx.com", "USA BMX membership" or "View on usabmx.com", their site opens in an in-app browser and you deal with USA BMX directly, including any account you sign in to there. Registration, memberships and payments happen only on usabmx.com. USA BMX's privacy policy governs those pages.
Google (Google Analytics), on the website bmxmotos.net and in the web app, never in the phone app Your IP address, a cookie id for your browser, the address and title of the pages you open on bmxmotos.net and in the web app, links you follow from them, the page you came from, and your browser and device type. Nothing from the phone app. To count visits to the website and the web app and see which pages get used (section 2). Google's privacy policy applies.
Sentry (crash reporting) — not enabled at the date above If we turn it on in a future version: a crash report with the device model, OS version, app version and the error's stack trace. No names, no location, no push token. To find and fix crashes. We will update this policy when it is enabled.

Track pages may also link to a track's Facebook or Instagram page, to directions in your maps app and to a hotel search around the track in that same maps app, a race weekend may link to EventConnect (eventconnect.io), the hotel booking site USA BMX uses, and a national may link to usabmxnationals.com, USA BMX's own site for its national events; those open outside BMX Motos and are governed by those services. The hotel search sends the track's location, never yours.

We do not sell, rent or trade any data, and we share nothing beyond what the table says.

6. How long things are kept

7. Children

BMX riders are often children, and their names, plate numbers and finishes appear on moto boards because the tracks and USA BMX publish them. BMX Motos only displays that already-public data; it does not collect personal information from anyone, of any age, and it is not directed at children. An account is optional and only for people 13 or older (the sign-in asks you to confirm this); there is no chat, and what members can post (a rider page, a team page, a Buy & Sell listing) is reviewed or reportable as described in section 4. We do not knowingly collect personal information from children under 13; if you believe we hold any, contact us and we will delete it. Parents control location and notification permissions in the phone's settings. Requests to change how a rider appears on a board go to the track or to USA BMX, which own that data. A team manager, who is an adult with an account, may list riders on a team roster by the name and plate the moto boards already show; nothing more about a rider is collected, a team page becomes public only after our review, and a parent or rider can have a name removed at any time by writing to us.

8. What we do not do

9. Your choices and rights

If you are in the European Economic Area, the United Kingdom, California or another place with a privacy law, you have the rights that law gives you (access, correction, deletion, portability, objection, and the right to complain to your supervisory authority). We rely on your consent for location and notifications and on our legitimate interest in running the service for the rest. We do not "sell" or "share" personal information as California law defines those terms.

10. Changes to this policy

When the app starts collecting something new (for example, if crash reporting is turned on), we will update this page and the date at the top before the change ships. The app's About screen describes the same data flows in brief.

11. Contact

BUILDMYPAGE, LLC
Email: info@bmxmotos.net