Aquaduct Data Strategies LLC

Runner’s Review — Privacy & Terms Annex

Aquaduct Data Strategies LLC — DBA: Runner’s Review Version: 1.1-draft Effective Date: March 21, 2026 Last Updated: 2026-10-24


This annex supplements the Aquaduct Data Strategies LLC master Terms of Service and Privacy Policy. It describes data practices specific to the Runner’s Review iOS application, the runnersreview.net website, and associated backend services. In the event of conflict between this annex and the master documents, this annex controls for Runner’s Review.

App Store Connect URL: https://legal.aquaductdata.com/annexes/runners-review


1. About Runner’s Review

Runner’s Review is a race discovery and review platform for runners, operated as a DBA of Aquaduct Data Strategies LLC. The application is distributed through the Apple App Store as an iOS application. Backend services are hosted on Google Cloud Platform.


2. Data We Collect

The following data types are collected by Runner’s Review. Data is collected only to the extent necessary to provide the features described.

2.1 Account and Identity Data

Data TypeHow CollectedPurpose
Apple ID (anonymized user identifier)Sign in with AppleAccount creation and authentication
Email addressSign in with Apple (if user elects to share)Account communication, support
Display name / usernameUser-provided at registrationIn-app display

Note on Sign in with Apple: Apple’s Sign in with Apple may provide either the user’s real email address or a privacy-relay email address (Hide My Email), depending on the user’s choice. We accept and work with either.

2.2 User-Generated Content

Data TypeHow CollectedPurposeStorage
Race reviews and ratingsUser submitted in-appProduct functionality — community reviewsGoogle Cloud SQL
Photos and imagesUser uploaded in-appAttached to race reviewsGoogle Cloud Storage (GCS)
App usage analyticsAutomatically logged when analytics collection is permittedApp usage events (e.g., api_request, race_view, search_performed); collection is privacy-gated via is_analytics_collection_allowed() — only logged when the user has permitted analyticsGoogle Cloud SQL

2.3 Challenge Participation and Leaderboard Data

Runner’s Review includes optional competitive features (“Compete”) in which participation publishes information to other users of the app. This is the only category of data we display to other people, and it is entirely opt-in.

Data TypeHow CollectedPurposeVisible To
Display nameFrom your account profileIdentify you on a leaderboardOther participants in that challenge; other users of global/regional/friends pace boards
Challenge progressYour participation in a challenge you joinedRank participants of that challengeOther participants in that challenge
Pace Rank scoreCalculated from your approved race reviews (with extra weight for detailed ones) and challenges you have completed. Despite the name it is a contribution score — it does not measure your running pace, speed, distance, or time, and we do not collect fitness or health data to produce itRank users on app-wide pace boardsOther users of global, regional and friends pace boards
Leaderboard participation flagYour explicit consent when first promptedRecord that you agreed to appearUs only

Leaderboard display is off until you turn it on. You are asked once, in-app, before any of your information appears on a leaderboard. If you decline, you may still use the rest of the app; nothing about you is displayed to other users.

There are two kinds of leaderboard, and they are governed differently.

Participation is therefore not the same as consent. Joining or leaving an individual challenge controls whether you appear on that challenge’s board. Your overall consent to leaderboard display is a separate, durable setting that leaving a challenge does not change or revoke. See Section 6 for how to exercise each control.

2.4 Precise Location Data

Data TypeHow CollectedPurposeRetention
GPS coordinates (precise)Device location services (when permission granted)Proximity-based race search and discoverySession only — not persistently stored

Important: Runner’s Review requests location permission for the purpose of returning nearby race results relevant to the user’s current location. Location data is used in real time for search queries and is not stored to a database, logged to a user profile, or transmitted to third parties beyond the immediate GCP query processing. Users may deny location permission; search by city/zip code remains available without location access.

2.5 Apple HealthKit

Runner’s Review does not access Apple HealthKit data. The application does not request HealthKit permissions and does not read from or write to Apple Health. App usage analytics described in Section 2.2 are automatically logged app-interaction events and are not sourced from HealthKit or any health data source.

If HealthKit integration is added in a future version, this annex will be updated before the relevant App Store release, and users will be notified per the change notification procedure in the master Privacy Policy.

2.6 Technical and Security Data

Data TypeHow CollectedPurposeRetention
Firebase App Check tokensAutomatically by Firebase SDKVerify that requests originate from a genuine Runner’s Review app instance (anti-abuse)Session/request scoped
Device type and OS versionApp metadataCompatibility diagnostics and crash reporting12 months
App versionApp metadataFeature rollout and support12 months
Error and crash logsAutomatically capturedBug diagnosis and service improvement12 months

2.7 The runnersreview.net Website

The website lets anyone look up races without an account. It has no sign-in and no forms that collect your name or email.

What the website collects about you. Unless you accept analytics (below), the site’s own code reads none of your personal details: not your IP address, location, browser details or cookies, and it keeps no record of your visits itself. The only record is then our hosting provider’s server logs, described next.

Searching for races. Race search works through ordinary links, so what you type or pick (a race name, a place, a distance, dates, a radius) becomes part of the page’s web address. We use it only to show you results, and we don’t save your searches. Because your search is in the web address:

When you type a place, the suggestions come from a list loaded into your browser. Your keystrokes are not sent anywhere.

Storage on your device. The website sets no cookies of its own. If you accept analytics, Google Analytics sets its cookies (described below). The site saves small settings in your browser, and only when you act:

ItemWhereSet whenKept until
rr-themeBrowser local storageYou choose light or darkYou clear your browser data
rr-bannerBrowser session storageYou dismiss the app bannerYou close the tab
rr-consentBrowser local storageYou choose Accept or Decline in the analytics bannerYou clear your browser data, or change it under “Cookie settings”

Race ratings. Race pages show the average star rating and the number of reviews that Runner’s Review app users have given that race. Only these totals appear on the website: no reviewer names or review text.

Analytics, only if you accept. The website asks before using Google Analytics. Until you choose, nothing loads from Google. If you decline, nothing ever does.

If you accept, Google Analytics (Google LLC) counts visits so we can see which pages and links help runners:

No advertising. Apart from Google Analytics if you accept, the website loads nothing from other companies: no visit counting, no advertising or tracking tags, no maps and no outside fonts. Safari may contact Apple to display the “Get the app” banner; that is your browser’s own feature.

Links that take you elsewhere (only when you click them):

When you leave our site, the page you go to learns only that you came from runnersreview.net, not what you searched for.

Behind the scenes, no visitor data. We build the race pages from our own race catalog in advance, tell search engines (through IndexNow) which of our pages have changed, and read Google Search Console’s aggregated counts of search queries for our site. None of these involve information about individual visitors.


3. Third-Party Service Providers

Runner’s Review uses the following third-party services. Each provider processes data only as necessary to deliver the described function.

ProviderServiceData SharedProvider Privacy Policy
Google Cloud Platform — Cloud SQLRelational database hostingAccount data, reviews, app usage analyticsGoogle Privacy Policy
Google Cloud Platform — Cloud Storage (GCS)Photo and image storageUser-uploaded photosGoogle Privacy Policy
Google Cloud Platform — Cloud Vision APIImage analysis for content reviewUser-uploaded photos (processed for content moderation)Google Privacy Policy
OpenAI — APIAutomatic check of review text against our community rules (content moderation), when a review is written or reportedThe text of a review only: no name, account, email, star rating, photos or location. OpenAI does not use it to train its models. Its abuse-monitoring logs keep it for up to 30 days, longer only if the law requires it or it is needed to protect against harm.OpenAI Privacy Policy
Google Firebase — App CheckApp integrity verificationApp Check tokens, device signals (no personal data transmitted)Google Privacy Policy
Apple Inc. — Sign in with AppleAuthenticationApple ID, email (if shared by user)Apple Privacy Policy
Apple Inc. — App Store / TestFlightApp distribution and beta testingStandard App Store analytics (aggregate, per Apple’s policies)Apple Privacy Policy
Vercel Inc.Hosting and delivery of the runnersreview.net websiteWeb addresses you request (including any search terms), IP address, browser type, time (server logs, up to 30 days)Vercel Privacy Policy
Google LLC — Google AnalyticsWebsite visit counts, only if you accept (runnersreview.net)Page addresses without searches, referring site name, page title, race web name, link clicks, _ga cookie identifier, IP address (approximate city-level location), browser and device type (kept 2 months)Google Privacy Policy

Runner’s Review does not use:


4. How We Use Your Data

We use the data described in Section 2 to:

  1. Authenticate and manage your account — Sign in with Apple handles authentication; we store the resulting user identifier to maintain your account
  2. Deliver core app functionality — Display race listings, store and retrieve your reviews and photos; log app usage analytics events when analytics collection is permitted
  3. Enable location-based search — Return nearby races relevant to your current location when location permission is granted
  4. Moderate content — Use Google Cloud Vision to review uploaded photos, and OpenAI to check the text of reviews when they are written or reported, for compliance with our Terms of Service. The check is automatic: a review that breaks the rules may be held back or not published. Only the review’s text is sent for the check, never who wrote it
  5. Ensure app security and integrity — Firebase App Check verifies that requests come from legitimate app instances
  6. Diagnose issues and improve the app — Crash logs, error reports, and usage data help us identify and fix bugs

We do not use Runner’s Review data to:


5. Data Retention

Data TypeRetention Period
Account data (active users)Deleted promptly upon verified deletion request; a de-identified compliance receipt is retained
ReviewsDuration of account; permanently deleted with the account
App usage analytics (activity_logs)12 months rolling; deleted on account deletion request
Photos (GCS)Duration of account; deleted on account deletion request
Precise location dataNot stored — used in-memory for search query only
Firebase App Check tokensSession/request scoped
Error and diagnostic logs12 months rolling
Website hosting logs (runnersreview.net)Up to 30 days (held by Vercel)
Website analytics (Google Analytics, only with your consent)2 months, then deleted by Google

To delete your account and all associated data, use Settings → Privacy → Delete Account in the app (you will be asked to type DELETE to confirm). If you cannot access the app, email legal@aquaductdata.com with the subject “Account Deletion Request — Runner’s Review.”


6. Your Privacy Choices

ChoiceHow to Exercise
Leave a single challengeIn-app: open the challenge → Leave Challenge. Removes you from that challenge’s leaderboard only. Does not change your overall leaderboard consent.
Decline leaderboard display entirelyDecline the one-time in-app consent prompt. Nothing about you is shown to other users.
Withdraw leaderboard consent after granting itEmail legal@aquaductdata.com — subject: “Leaderboard Opt-Out — Runner’s Review”. We hide you from global, regional and friends pace boards. (An in-app settings toggle for this is planned; until it ships, the email route is the supported path and we honour it.)
Deny or revoke location accessiOS Settings → Privacy & Security → Location Services → Runner’s Review → set to “Never”
Delete uploaded photosIn-app photo management, or via account deletion request
Delete your account and all dataIn-app: Settings → Privacy → Delete Account (type DELETE to confirm). Fallback if you cannot access the app: email legal@aquaductdata.com — subject: “Account Deletion Request — Runner’s Review”
Access a copy of your dataEmail legal@aquaductdata.com — subject: “Data Access Request — Runner’s Review”

For full rights including California/CCPA rights, see the master Privacy Policy, Sections 9 and 10.


7. Children’s Privacy

Runner’s Review is not directed at children under 13. We do not knowingly collect personal information from users under 13. If you believe a child under 13 has registered, please contact legal@aquaductdata.com.


8. Apple App Store Privacy Nutrition Label

The following reflects Runner’s Review’s Apple App Store privacy declarations. This annex serves as supporting documentation for those declarations.

CategoryCollected?Linked to Identity?Used for Tracking?
Contact Info (email)Yes (if shared via Sign in with Apple)YesNo
Identifiers (User ID)YesYesNo
Photos or VideosYes (user-uploaded)YesNo
Location (Precise)Yes (when granted)No — session only, not storedNo
User Content (reviews)YesYesNo
App Usage Data (analytics events: race_view, search_performed, api_request)Yes (when analytics permitted)YesNo
Crash DataYesNoNo
Health & FitnessNo——
PurchasesYes (subscription and in-app purchase records — Compete / Director tier — linked to your account)YesNo
Browsing HistoryNo——
Search HistoryYes (search_performed events logged to activity_logs when analytics permitted)YesNo

9. Subscriptions and Auto-Renewal

Runner’s Review offers one or more optional paid subscription plans that unlock additional in-app features. The following applies to any Runner’s Review subscription purchased through the Apple App Store:

This section supplements master Terms of Service Section 3.4 (Subscriptions and Auto-Renewal) for the Runner’s Review product, per master Terms Section 11.


10. Governing Documents

This annex is to be read together with:

For general contact, support, or privacy requests, see Master Privacy Policy Section 15.


11. Version and Effective Date

AttributeValue
Version1.1-draft
Effective DateMarch 21, 2026
Last Updated2026-10-24
StatusDraft — technical review complete; pending final approval

Document History

DateVersionChangesAuthor
2026-03-211.0-draftInitial draftADS Legal
2026-03-211.1-draftTechnical review corrections: (1) removed shoe inventory — feature not in app; (2) rewrote activity_logs as app usage analytics (api_request, race_view, search_performed) with is_analytics_collection_allowed() privacy gate; (3) corrected Search History in Nutrition Label from No to YesADS Legal
2026-07-251.1-draftAdded Section 9 (Subscriptions and Auto-Renewal), mirroring the in-app paywall disclosure (PaywallView.swift, legalSection) per Apple App Store Review Guideline 3.1.2. Renumbered former Section 9 (Governing Documents) → Section 10 and former Section 10 (Version and Effective Date) → Section 11. Launch-gating fix — ASC links directly to this annex, which contained no subscription language.ADS Legal
2026-07-251.1-draftCorrected Section 8 (Apple App Store Privacy Nutrition Label) Purchases row from No to Yes — Director Premium Annual and the Runners Review Premium subscription group are in a live App Store Connect draft submission; purchase/subscription records are collected server-side (subscriptions table: product_id, status, expiration) and linked to the user account. Matches master Privacy Policy CCPA table (Commercial information — Runner’s Review).ADS Legal
2026-10-031.1-draftAdded Section 2.7 (the runnersreview.net website: search terms in web addresses, hosting logs up to 30 days, no cookies, two browser-storage settings, aggregate race ratings, no analytics, registration and App Store links, the RunSignUp affiliate code and commission); Vercel added to Section 3; website logs added to Section 5 (#1077)Shade (ADS Agent)
2026-10-241.1-draftApproved by Diego 2026-10-24. Section 2.7: Google Analytics only with consent (what is sent and never sent, Google’s own collection, ads and signals off, no sharing, 2-month retention, withdrawal via Cookie settings); rr-consent storage row; Section 3: Google Analytics provider row and an app/website scope note; Section 5: 2-month analytics retention (site#253, aquaduct-source#1077)Shade (ADS Agent)
2026-10-241.1-draftApproved by Diego 2026-10-24. Section 3: OpenAI provider row (review text only, for automatic moderation; not used for training; abuse-monitoring logs up to 30 days per OpenAI’s published API data controls, read 2026-10-24). Section 4 item 4: automatic text moderation of reviews when written or reported. Published before any real review text is sent (rR#9703 R0a). Also corrects the Last Updated line, which the GA4 amendment left at 2026-10-03.Shade (ADS Agent)

This annex was prepared by Aquaduct Data Strategies LLC and has not been reviewed by a licensed attorney. Apple HealthKit data is explicitly not collected. Accuracy of all data types and third-party integrations should be confirmed before App Store Connect submission.