Privacy & Data

Your data stays yours.

We collect the minimum needed to deliver the features you use. Nothing more. Privacy isn't a checkbox — it's how we build.

Zero ads · Zero data sales · Zero tracking
Our stance

Privacy as a feature

RigSense is operated by Topo Intel LLC, a Texas limited liability company. RV owners choose off-grid living because they value independence. An app that tracks, profiles, or monetizes your data betrays that trust. Our privacy posture isn't defensive compliance — it's an active commitment to the community we're building for.

1
Your data is yours.
We never sell, share, or monetize personal data. No ad networks. No data brokers. No "anonymized" datasets sold to third parties.
2
Minimum viable data.
We collect only what's needed to deliver the feature you're using. If you don't use a feature, we don't collect its data.
3
Local-first processing.
Hardware sensor data (Mopeka, SeeLevel, TPMS, Ruuvi, Epoch/SOK BMS, Power Watchdog, LevelMate) is processed entirely on-device. It never touches our servers unless you explicitly contribute it to community features.
4
You control the connections.
Every hardware integration requires your explicit action to connect. Disconnect any integration at any time — we immediately revoke access and purge cached data.
5
Transparency over legalese.
This policy is written in plain language. Every data collection point in the app includes a human-readable explanation of what's collected, why, and where it goes.
Data collection

What we collect — and don't

Data is split into four clear categories. Most sensor data never leaves your iPhone.

Stays on device — never transmitted
  • BLE sensor readings (Mopeka, SeeLevel, TPMS, Ruuvi, Epoch/SOK BMS)
  • Shore power data (Power Watchdog — voltage, current, wiring status)
  • Leveling data (CoreMotion accelerometer or LevelMate sensor)
  • Sensor history (compacted on-device)
  • Peplink local API responses
  • Local hardware APIs (Starlink dish, Victron Cerbo GX, Peplink router) communicate over your RV's local WiFi network using HTTP. These devices do not support HTTPS. Traffic stays on your local network and is never sent to our servers. Data includes rig telemetry only (signal strength, battery status, solar yield) — no personal information.
  • Alert thresholds & evaluation results
  • Offline-first data (checklists, timers, calculators)
  • Cached map tiles
  • Draft community contributions (before submit)
  • Convoy P2P snapshots (device RAM, encrypted)
Transmitted to RigSense (encrypted)
  • Account credentials (hashed + salted)
  • Rig profile (dimensions, equipment)
  • Saved spots & stay history
  • Submitted community contributions (reviews, tips, photos — see community photos below)
  • Convoy invite code + expiry (no member data)
  • Convoy relay snapshots (in-memory only, not persisted)
Transmitted to third parties (consent only)
  • Victron VRM — OAuth token exchange
  • Apple StoreKit — payment processing
Never collected — ever
  • Device IMEI / hardware serial numbers
  • Contacts, microphone, or camera
  • Photos from your library beyond the ones you explicitly upload
  • Advertising identifiers (IDFA never requested)
  • Cross-app tracking data
  • Browsing history
  • Biometric data
Data category Lawful basis Justification
Account (email, password hash) Contract Required to provide the service
Rig profile, saved spots, stay history Contract Core service functionality
GPS location (active navigation) Contract Required for navigation and spot-finding
GPS location (background route tracking) Consent Off by default; requires explicit opt-in
BLE sensor data (on-device)
Mopeka, SeeLevel, TPMS, Ruuvi, Epoch/SOK BMS, Power Watchdog, LevelMate
N/A Not transmitted — processed locally on iPhone. Tank levels, tire pressure, temperature, shore power voltage, leveling angles never leave your device.
Victron VRM cloud data Consent User initiates OAuth connection; revocable anytime
Connected vehicle (future — Phase 5D) Consent User-initiated OAuth with granular scope selection; not yet available in the current app
Community contributions Consent User explicitly submits; can delete own contributions
Convoy sharing Consent Double opt-in; each data point has independent toggle; all off by default
Payment information Contract Processed by Apple StoreKit — RigSense never sees card data
Crash reports & analytics Legitimate interest Anonymized, aggregated, no PII — used for app stability only
Community contributions

Photos you upload to community spots

RigSense lets you upload photos to public spots so other users can see what a place actually looks like. We want to be precise about how those photos are stored and served, because the model has trade-offs that aren’t obvious from the upload screen.

How photos are stored. When you upload a photo, it goes to a Supabase Storage bucket called location-photos. The bucket is configured as public — meaning each photo is reachable at a stable, unique URL. This is the same model used by most photo-heavy apps (Instagram, Twitter, Reddit, Yelp). It keeps the app fast, lets photos render in spot detail views without a per-image authentication round-trip, and works with standard CDN caching.

What that means for you. Once you upload a photo, anyone with the URL can view it. The URL doesn’t require a RigSense account or a password. The URL also doesn’t expire on its own.

How to delete a photo. Open the photo in the app, tap the … menu, and choose Delete Photo. The file is removed from RigSense storage immediately, the photo disappears from the spot for everyone, and the URL starts returning 404 to anyone who tries it. The Delete action is only available to the photo’s author — nobody else can remove your photos through that path. (Reports of policy-violating content go through the Report flow, which routes to our moderation team.)

If a photo URL was shared and the recipient downloaded the image to their device before you deleted it, that copy is theirs — same as any other photo-sharing platform. We can remove the file from our storage; we can’t reach into other people’s devices.

Deletion log. When a photo is deleted, we keep a short audit record — who deleted it, which spot it was attached to, the storage path that was removed, the timestamp, and the reason (author self-service, moderator action, or admin purge). This record persists after the photo file and contribution row are gone. The image data itself is not retained. The log is read-restricted to our moderation team and the platform service role; it is never exposed to other users or to the public. The purpose is forensics: if a photo is reported by another user as harmful and the author deletes it before review, we still need to know it existed. The log row is itself deleted if the spot is deleted, or unlinked from a user account if the user invokes their right-to-erasure under GDPR.

What we recommend. Treat photos uploaded to community spots the way you’d treat a photo posted to a public Instagram account or shared in a public forum. Don’t upload anything you wouldn’t want a stranger to see.

Reporting and moderation. Every uploaded photo carries a Report action. If you see something that violates our guidelines, report it. Reported photos are reviewed and removed if they break our rules. Reports are logged and the reporting user is never disclosed to the photo’s author.

Photos you don’t upload. RigSense never accesses your camera roll or photo library beyond the specific photos you choose to attach to a contribution. We don’t scan your library, we don’t auto-upload, and we don’t read EXIF metadata other than the orientation tag needed to display the photo correctly.

GDPR & CCPA

Your rights

All GDPR individual rights are implemented via in-app controls — no need to email us for most requests. US users are protected under the same framework, which exceeds CCPA/CPRA requirements.

Access & Portability (Art. 15, 20)
Export a complete copy of your personal data — spots, stays, sensor history, contributions — in JSON/CSV format within 48 hours.
Settings → Privacy → "Download My Data"
Rectification (Art. 16)
All profile data — rig specs, account details, preferences — is editable in-app at any time.
Settings → Profile
Erasure (Art. 17)
Delete your account and all associated data. Includes a 7-day grace period to cancel. Backup purge completes within 30 days.
Settings → Account → "Delete My Account"
Restriction & Objection (Art. 18, 21)
Disable individual integrations without deleting your account. Opt out of anonymized analytics at any time.
Settings → Privacy → Analytics toggle
No Automated Decision-Making (Art. 22)
RigSense doesn't make automated decisions with legal or significant effects. Spot recommendations and energy estimates are suggestions only.
No action required
Right to Know (CCPA)
We never sell personal data — so the "right to opt out of sale" is inherently satisfied. The free tier is fully functional without any data sharing beyond account basics.
No action required
Lifecycle

How long we keep data

Every data type has a defined retention period. Nothing is kept indefinitely unless it's community content you chose to make public.

Data type Retained for Deletion trigger
On-device sensor dataRaw 30 min · minute averages 48 hr · 15-min averages 90 daysAuto-compacted on device; never transmitted
Account dataDuration of accountAccount deletion request
Stay historyDuration of accountAccount deletion or manual per-stay deletion
Sensor readings (backend)12 months rollingAuto-purge after 12 months; immediate on account deletion
Vehicle health snapshots12 months rollingAuto-purge or on vehicle disconnection
OAuth tokens (Victron VRM)Until revokedUser disconnects integration or deletes account
Community contributionsIndefinite (public)User deletes own content; anonymized on account deletion
Crash / analytics logs90 daysAuto-purge
Database backups30 days rollingEncrypted; purged on rotation
Convoy session dataIn-memory onlyNever persisted to database; lost when session ends
Convoy snapshots (relay)In-memory onlyNever persisted; lost on channel close
Technical measures

How we protect it

Security is built into every layer — from device storage to API communication to infrastructure. No third-party analytics SDKs that phone home. No Facebook SDK. No Google Analytics.

Transit
TLS 1.3 for all API communication. Certificate pinning in the iOS app.
Backend storage
AES-256 encryption at rest for PostgreSQL. Encrypted R2/S3 buckets.
Device storage
iOS Keychain for tokens. SwiftData with NSFileProtectionComplete.
Authentication
JWT with 15-minute access tokens + 30-day refresh tokens rotated on use. bcrypt with cost factor 12 for passwords.
OAuth tokens
Encrypted with a per-user key before database storage. Never appear in logs.
API access
Rate limiting per user. Anomaly detection for credential stuffing.
Infrastructure
Cloudflare WAF + DDoS protection. Server access via SSH key only.
Logs & monitoring
PII-scrubbed logs — no emails, GPS coordinates, or OAuth tokens in output. 72-hour breach notification pipeline per GDPR Article 33.
Article 28 processors

Third-party data processors

Every third party that touches user data has a signed Data Processing Agreement (DPA). We have no data processors for advertising, profiling, or data enrichment — because we don't do any of those things.

Victron Energy
VRM installation data for energy system monitoring
DPA signed
Supabase
Authentication and community data sync · PostgreSQL with row-level security
DPA signed
Apple (StoreKit)
Payment processing for subscriptions · RigSense never sees card data
Apple EULA
Cloudflare
CDN, WAF, and DNS · Request metadata (IPs) only
DPA signed
Database host (Supabase / Neon)
PostgreSQL hosting · All data encrypted at rest
DPA signed
Transactional email provider
Email addresses only · Account verification and receipts
DPA signed
External data sources

Third-party data source APIs

To provide location intelligence features, RigSense calls the following public and commercial APIs on your behalf. These APIs receive only your GPS coordinates — no account identifiers, email addresses, or personal data are ever transmitted. All calls are proxied through our Cloudflare Worker; your device never contacts these services directly.

Apple WeatherKit
Current conditions, UV index, pressure, humidity, wind, daily forecasts · Attribution required: "Powered by Apple Weather"
Apple EULA
Open-Meteo (paid)
Primary weather forecast, AQI, pollen, solar irradiance, elevation, historical climate · Paid commercial license; no attribution required
Commercial
Tomorrow.io
AQI and pollen fallback, barometric pressure data · Commercial API
Commercial
OpenWeatherMap
Weather map tile overlays (precipitation, temperature, clouds, wind, pressure — Maps 1.0) and solar irradiance cross-validation · openweathermap.org · Commercial API; data CC BY-SA 4.0
Commercial
Pirate Weather
Weather forecast fallback (tier 2, Dark Sky-compatible) · pirateweather.net · Weather data provided in part by Pirate Weather, licensed under Apache 2.0
Apache 2.0
National Weather Service (api.weather.gov)
Severe weather alerts and narrative forecast · US government open data
Public domain
EPA AirNow
Observed AQI and 3-day PM2.5 smoke forecast · US government open data
Public domain
NOAA HMS
Satellite-detected smoke plume data · NOAA/NESDIS open data
Public domain
NASA FIRMS (MODAPS)
Active fire hotspot detection · NASA open data
Public domain
NIFC (ArcGIS)
Active wildfire perimeter boundaries · US government open data
Public domain
USFS Wildland Fire Risk Calculator (WRC)
Burn probability map tiles · USDA Forest Service open data
Public domain
USDA Soil Data Access (SSURGO)
Soil composition and campability data · USDA open data
Public domain
SoilGrids (ISRIC)
Global soil property data · CC BY 4.0
CC BY 4.0
FEMA National Flood Hazard Layer
Flood risk zones · US government open data
Public domain
USGS 3DEP
Digital elevation data · US government open data
Public domain
USGS NHD
Waterway and hydrography map tiles · US government open data
Public domain
USFS NLCD Tree Canopy (MRLC)
Tree canopy coverage for Starlink obstruction modeling · USDA/MRLC open data
Public domain
HERE Technologies
Traffic incident data · Commercial API — receives coordinates only
Commercial
511 DOT (Utah, Nevada, Idaho)
State road conditions and incidents · State DOT public data
Public domain
NPS API
National park alerts and wildlife data · US government open data
Public domain
Recreation.gov (RIDB)
Federal campground and permit data · US government open data
Public domain
How it works

Account deletion pipeline

When you delete your account, everything goes. A 7-day grace period lets you cancel if you change your mind. After that, the pipeline is irreversible.

1
Tap Settings → Account → Delete My Account — plain-language confirmation dialog explains consequences
2
7-day grace period begins — you can cancel at any time during this window
3
All OAuth tokens revoked (Victron VRM, Smartcar, and any other connected cloud integrations) — third-party access cut off immediately
4
User record, rig profiles, stay history permanently deleted from the database
5
Community contributions anonymized — your content remains but your identity is replaced with "deleted user"
6
All sensor readings and vehicle health data purged
7
Backup purge queued — completed within 30 days (encrypted backups rotated and overwritten)
8
Confirmation email sent — your email address itself is then deleted after confirmation is sent
Questions

Contact us about privacy

If you have questions about this policy, want to exercise a data right not available in-app, or need to report a concern — reach out directly. We read every email.

Privacy inquiries
support@rigsense.app · Typical response within 24–48 hours
Email Us
Effective date May 2026 Version Aligned with in-app Privacy Policy