Contents
1. Overview
CodClimb ("the app," "we," "us") is an iOS application that provides live climbing condition scores for US crags. This Privacy Policy explains what information we collect when you use CodClimb, how we use it, and what choices you have.
We built CodClimb to help climbers make better decisions about where to climb — not to harvest data. We collect the minimum information needed to make the app work well.
2. Data We Collect
2a. Account Information (if you sign up)
When you create an account, we store:
| Data | How It's Used |
|---|---|
| Email address | Account authentication, password reset emails |
| Display name | Shown on your profile and condition reports |
| Profile bio (optional) | Shown on your public profile (max 150 characters) |
| Avatar photo (optional) | Shown alongside your reports in the community feed |
| Climbing styles (optional) | Shown on your public profile card |
| Join date | Shown on your profile ("Member since…") |
If you sign in with Google, we receive your name and email from Google. We do not receive your Google password.
2b. Content You Post
When you submit a condition report, we store:
| Data | Visibility |
|---|---|
| Crag name | Public — shown in the community feed |
| Rock condition rating | Public |
| Crowd level | Public |
| Notes text | Public |
| Photos (up to 4) | Public — stored in Firebase Storage |
| Report timestamp | Public |
| Your display name | Public — linked to your profile |
2c. Anonymous Usage
If you use CodClimb without signing up, Firebase Authentication assigns you an anonymous UID. This UID is stored locally on your device and in Firebase. It contains no personally identifying information. If you later create a full account, your anonymous session can be merged.
2d. Favorites & Settings
Your bookmarked crags and app preferences are stored locally on your device using iOS UserDefaults. This data never leaves your device unless you explicitly back it up via iCloud.
2e. Crash & Diagnostic Data
We may collect anonymized crash reports through Apple's built-in crash reporting (if you have enabled "Share iPhone Analytics" in iOS Settings). We do not use any additional crash analytics SDK at this time.
2f. Location (only if you allow it)
If you grant location access, CodClimb uses your device's approximate location to sort crags by distance ("Near Me") and to center the map on you. Your location is used on your device only — it is never transmitted to or stored on our servers, and it is never attached to your reports. You can deny or revoke location access at any time in iOS Settings; the app remains fully usable without it.
2g. Push Notifications (only if you enable alerts)
If you enable trip or condition alerts, iOS issues a device push token. We store that token in our database (Firebase) so we can deliver the alerts you asked for. The token identifies your device, not you personally. You can turn off notifications at any time in iOS Settings or in the app, and we stop using the token.
2h. Trip Plans
When you "arm a trip" in the Trip Planner, we store the crag, date, and time window in our database so the app and our scheduled service can prepare a pre-trip briefing and a short-range rain "nowcast" alert for that trip. You can cancel an armed trip at any time, which deletes it.
2i. Scoring Calibration (optional)
When you post a condition report, you may optionally add a personal 0–100 rating and notes about how the conditions actually felt. If you do, we log that alongside the score our algorithm predicted and the weather inputs used, so we can study how well the score matches real-world experience and improve it over time. This calibration data is private — it is visible only to you and to CodClimb administrators, and is never shown in the public feed.
3. Why We Collect It
We collect data for the following purposes only:
| Purpose | Data Used |
|---|---|
| Authenticate you across sessions | Email, Firebase UID |
| Display your profile and reports | Display name, bio, avatar, posts |
| Send score threshold alerts (opt-in) | Email address |
| Deliver trip & condition push alerts (opt-in) | Push token, trip details |
| Sort crags by distance ("Near Me") & center the map | Approximate location (on-device only) |
| Show community reports in the feed | Report content, display name |
| Track report and thumbs-up counts for your profile title | Report history, reaction counts |
| Study score accuracy & improve it (optional) | Your optional rating, predicted score, weather inputs |
We do not use your data for advertising, profiling, or sale to third parties. Ever.
4. Third-Party Services
CodClimb uses the following external services. Each has its own privacy policy.
| Service | Purpose | Data Sent |
|---|---|---|
| Firebase (Google) | Authentication, database (Firestore), photo storage, push delivery (Cloud Messaging) | Auth credentials, report content, avatar photos, push token, trip details |
| Brevo | Transactional email (account verification, opt-in score alerts) | Email address |
| Open-Meteo | Weather forecast data | Crag latitude & longitude (no user ID sent) |
| Unsplash | Crag hero photography | Crag name search query (no user ID sent) |
| Google Sign-In | OAuth authentication (optional) | Your Google name and email if you choose to sign in with Google |
CodClimb does not integrate with any advertising networks, analytics SDKs (e.g., Mixpanel, Amplitude, Segment), or social tracking pixels.
5. Data Storage & Security
Your account data and community content are stored in Google Firebase (Firebase Firestore database and Firebase Storage), hosted in the United States. Firebase applies industry-standard encryption at rest and in transit (TLS).
Your favorites and app preferences are stored locally on your iOS device and are protected by iOS's standard sandbox and device encryption (if enabled).
We retain your account data for as long as your account is active. Community reports are automatically removed from the public feed after 7 days, though they remain in the database for moderation purposes unless you delete them.
6. Children's Privacy
CodClimb is not directed at children under the age of 13. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has created an account, please contact us and we will delete the account promptly.
7. Your Rights & Controls
Delete your account
You can request deletion of your account and all associated data (profile, reports, avatar) at any time by emailing us at the address below. We will process deletion requests within 30 days.
Delete individual reports
Any condition report you posted can be deleted from within the app by tapping the report and selecting "Delete." Deletion is immediate and permanent.
Update or remove your profile
You can edit your display name, bio, climbing styles, and avatar at any time from the Profile tab in the app. To remove your avatar, email us — in-app removal is coming in a future update.
Opt out of alerts & notifications
Score threshold alerts and trip/condition push notifications are all opt-in only. You can disable them at any time from the crag detail view, the Settings tab, or iOS Settings → Notifications. When you turn them off, we stop using your push token.
Use the app without an account
You can browse all crag scores and forecasts as a guest with no account required. Only posting reports, reacting, and saving favorites require a free account.
California residents (CCPA)
We do not sell personal information. California residents have the right to know what personal information we collect, request deletion, and opt out of sale (though we do not sell data). Contact us at the address below to exercise these rights.
8. Changes to This Policy
We may update this Privacy Policy as CodClimb grows and adds features. When we make material changes, we will update the effective date at the top of this page. For significant changes, we will notify signed-in users via in-app notice or email.
Continued use of CodClimb after changes take effect constitutes acceptance of the updated policy.
9. Contact
Questions about this policy, account deletion requests, or data inquiries: