Privacy Policy
Saltmarsh Apps LLC (“Saltmarsh Apps,” “we,” “us,” or “our”) builds local-first consumer and professional utility software. We designed both of our flagship applications — Boat Maintenance Log (Total Cost & Service Log) (com.saltmarshapps.boatlog) and BidMic: Voice Estimate & Quote (com.saltmarshapps.bidmic, bidmic.com, bidmic.app) — so that your records, photos, estimates, credentials, and financial numbers remain stored locally on your device under your direct control.
1. 100% On-Device SQLite Storage Across Both Flagship Apps (No Mandatory Cloud Accounts)
All records you create or import in our applications are stored locally on your device inside sandboxed on-device SQLite databases (or browser localStorage when using our optional desktop web portals at /portal, /bidmic-portal, bidmic.com, or bidmic.app):
- Boat Maintenance Log (
com.saltmarshapps.boatlog— 13 Local SQLite Tables): Stores all vessel and ownership records across 13 local tables:boats,engines(equipment),log_entries(service_logs),log_photos(documents),reminders,expense_schedules(settings),expenses,csv_import_rules(float_plans),safety_compliance(checklists),vessel_credentials(crew_credentials),people(passengers),trips(logbook_trips), andfuel_price_overrides(fuel_logs). Any contact or identity details you optionally enter for Registered Vessel Owners, Passengers, or Charter Guests (such as names, email addresses, or phone numbers inpeople, linked fishing/diving licenses invessel_credentials, or shared trip expenses intripsandexpenses) remain strictly in on-device SQLite. - BidMic: Voice Estimate & Quote (
com.saltmarshapps.bidmic— 4 Local SQLite Tables): Stores all contractor estimating and walkthrough records across 4 local tables:estimates(job titles, client names, emails, phones, addresses, voice walkthrough transcripts, JSON line items, labor rates, material markups, sales tax rates, Good/Better/Best option tiers, and Sign-on-Glass signatures),punch_items(numbered room/zone walkthrough snags, trade tags, priorities, statuses, and local before/after photo URIs),trade_templates(built-in and custom trade rate templates), andsettings(contractor business profile, license number, default rates, and PDF export counter). - No Mandatory Sign-In: We do not require you to create an account, sign in, or upload your vessel logbook or contractor client list to any cloud server to use our apps.
- User-Initiated Sharing Only: When you export a PDF Service History Binder, a Client Estimate PDF, a Numbered Photo Punch-List PDF, a Portable Client Quote Link (
BIDMIC-QUOTE-...), aharbor-guest-passJSON bundle, or a full JSON backup, the app opens your operating system’s native share sheet, SMS composer, or email client. Data leaves your device only when you explicitly send or save that file. - Encrypted OS Device Backups: If your device has system backups enabled (such as Apple iCloud Device Backup or Google Android Backup), your local SQLite database and sandboxed photos may be included in your personal encrypted device backup managed by Apple or Google.
2. Foreground-Only Location for On-Water Fuel Dock Finder (Boat Maintenance Log)
Boat Maintenance Log Pro includes an optional On-Water Fuel Dock Finder (/fuel-docks) to help captains locate nearby marina fuel docks selling ethanol-free Rec-90 gasoline and marine diesel:
- Store Listing Foreground Location Disclosure (Exact Match): “Boat Maintenance Log uses your location while using the app to find the nearest on-water marina fuel docks and marine fuel prices. Your location is never tracked in the background or linked to your identity.” Foreground location (
NSLocationWhenInUseUsageDescription/ACCESS_FINE_LOCATION/ACCESS_COARSE_LOCATION) is used only on demand when you open the Fuel Dock Finder or tapUse My GPS(orUse Current GPS Position) to find nearby on-water fuel docks. It is never tracked in the background, never linked to your identity, and never stored on Saltmarsh servers. A live search sends the coordinates you chose to OpenStreetMap’s public Overpass API (https://overpass-api.de/api/interpreter) and to Waterway Guide (https://www.waterwayguide-data.com/api/v2/navaids) only when a commercial token (EXPO_PUBLIC_WATERWAY_GUIDE_TOKEN) is configured. - No Location History or Analytics Profiling: Saltmarsh Apps LLC does not store your GPS coordinates on any Saltmarsh server, does not build location histories, and never transmits GPS coordinates to PostHog, Sentry, or RevenueCat.
- Works Without Location Permission: Granting location permission is completely optional. If you decline or revoke location permission, the Fuel Dock Finder works seamlessly using built-in curated harbor presets and offline fuel dock records, and custom pump price overrides are saved locally in on-device SQLite (
fuel_price_overrides). BidMic: Voice Estimate & Quote does not request or use device location permissions.
3. Voice Walkthrough Microphone Input & Offline-First Parsing (BidMic: Voice Estimate & Quote)
BidMic: Voice Estimate & Quote allows contractors to dictate job-site scope walkthroughs to generate itemized labor and material estimates:
- On-Demand Microphone Permission (
NSMicrophoneUsageDescription): BidMic requests microphone access only when you actively initiate voice dictation on the Voice Bid screen (“BidMic uses the microphone when you dictate a voice job walkthrough to build an estimate.”). BidMic never records audio in the background. - 100% Offline Deterministic Voice Parser: By default, BidMic’s deterministic on-device parser (
parseVoiceWalkthrough) extracts linear/square footage, labor hours, hourly rates, material items, markup percentages, and sales tax percentages directly on your phone or tablet with zero network dependency. - Optional Stateless AI Ingest Proxy (
https://ai.saltmarshapps.com): When an optional AI ingest endpoint (EXPO_PUBLIC_AI_INGEST_URLathttps://ai.saltmarshapps.com/v1/parse-estimate) is configured and your device is online, BidMic may send only the scope transcript text and default rate parameters over encrypted HTTPS to return structured line items. Raw audio recordings and client contact details are never uploaded to or stored onai.saltmarshapps.com, and the app automatically falls back to on-device deterministic parsing whenever offline.
4. Local Bank & Credit Card CSV Import (Boat Maintenance Log)
Boat Maintenance Log Pro includes an optional feature allowing you to import transaction rows from CSV statements exported from your bank or card issuer:
- CSV files you select via the system file picker are parsed 100% locally on your device.
- Your CSV files, merchant rules (
csv_import_rules), and transaction rows are never uploaded to Saltmarsh Apps LLC servers or transmitted to any third party. - The app never asks for bank login credentials and does not connect to Plaid or external financial aggregators.
5. Camera, Photo Library, Credentials & PDF Exports (Both Apps)
When you attach photos in Boat Maintenance Log (parts, hulls, service receipts, state vessel registration decals, USCG Certificates of Documentation CG-1270, or personal fishing/diving licenses) or in BidMic: Voice Estimate & Quote (NSCameraUsageDescription / NSPhotoLibraryUsageDescription for before-and-after job-site punch-list photos and Sign-on-Glass signatures), those images are stored locally on your device within the app’s sandboxed storage. When you generate a Sale-Ready PDF Service & Ownership History Binder, a Client Estimate PDF, or a Numbered Photo Punch-List Report PDF, the PDF is rendered locally on your device and shared only when you explicitly choose a destination in your device’s native share sheet.
6. Local Notifications
Calendar-based maintenance reminders, USCG safety gear expiration alerts (such as 12-year fire extinguishers and 42-month pyrotechnic flares), and registration/license renewal dates are scheduled locally on your device using native operating system notification APIs. We do not operate a remote push-notification server or collect push tokens.
7. Subscriptions & In-App Purchases (RevenueCat)
Optional Pro upgrades in Boat Maintenance Log (Boat Log Pro: boatlog_pro_monthly at $4.99/month, boatlog_pro_yearly at $34.99/year with a 7-day free trial, or boatlog_pro_lifetime at $34.99 one-time Lifetime Unlock) and BidMic: Voice Estimate & Quote (BidMic Pro: bidmic_pro_monthly at $9.99/month, bidmic_pro_yearly at $69.99/year with a 7-day free trial — or $55.99/year + 14-day free trial with an eligible 20% partner/referral code — or bidmic_pro_lifetime at $99.99 one-time Founding Tradesman Lifetime Unlock) are billed and processed directly by Apple (App Store) or Google (Google Play). Saltmarsh Apps LLC never receives or stores your credit card number or billing address.
We use RevenueCat (react-native-purchases) to validate anonymized App Store and Google Play purchase receipts and manage your active pro entitlement across renewals and restores. RevenueCat receives only the store receipt token and an anonymous app user identifier necessary to verify subscription status.
8. Strict Telemetry Scrubbing, Crash Diagnostics & Zero Advertising
Our applications contain no third-party advertising SDKs, never sell user data, and never track you across other companies’ apps or websites (NSPrivacyTracking = false).
To keep our apps reliable, shipping builds send strictly scrubbed, anonymous diagnostics that are never linked to your identity:
- Anonymous Product Interaction (PostHog — Strictly Allowlisted): Our shared analytics wrapper (
@app-factory/core) enforces a strict code-level property allowlist (SAFE_PROPERTY_KEYS = ['plan', 'template', 'kind']) sent tohttps://us.i.posthog.com. Any non-allowlisted property is stripped before transmission. Vessel names, Hull Identification Numbers (HINs), registration/license numbers, client names, contractor license numbers, voice transcripts, estimate line items, emails, phone numbers, addresses, notes, photos, GPS coordinates, dollar/cent amounts, and CSV rows are never transmitted to PostHog. - Scrubbed Crash Diagnostics (Sentry): Crash and error diagnostics sent to
https://us.sentry.ioare configured withsendDefaultPii: falseand custombeforeSend/beforeBreadcrumbscrubbers that strip user objects, request headers, cookies, and breadcrumb data payloads before any crash report leaves the device. - Purchase Receipt Validation (RevenueCat): Anonymous App Store and Google Play receipt validation for the
proentitlement, as described in Section 7.
9. Data Retention & Instant In-App Deletion (“Erase All Data”)
Because your records live locally on your device, you remain in full control of retention and deletion at all times:
- Boat Maintenance Log (
Settings → Erase All Data): Confirming this action runs an immediate SQLite transaction that permanently wipes all 13 local database tables (boats,engines,log_entries,log_photos,reminders,expense_schedules,expenses,csv_import_rules,safety_compliance,vessel_credentials,people,trips, andfuel_price_overrides) and cancels all scheduled local notifications on your device. - BidMic: Voice Estimate & Quote (
Settings → Erase All Data): Confirming this action runs an immediate SQLite transaction that permanently wipes all 4 local database tables (estimates,punch_items,trade_templates, andsettings) on your device and resets local counters. - Uninstalling the App: Deleting either application from your iPhone, iPad, or Android device also removes its local SQLite database and sandboxed files from the device.
10. Children’s Privacy
Our websites and applications are utility tools intended for adult vessel owners, contractors, and tradespeople and are not directed to children under the age of 13. We do not knowingly collect personal information from children.
11. Changes to This Privacy Policy
If we update this Privacy Policy, we will post the revised version at https://saltmarshapps.com/privacy (also accessible via https://saltmarshapps.app/privacy, https://bidmic.com/privacy, and https://bidmic.app/privacy) and update the “Last Updated” date at the top of the page.
12. Contact Us
If you have any questions about this Privacy Policy, our privacy practices, or our applications, please contact us:
| Publisher / Legal Entity | Saltmarsh Apps LLC |
|---|---|
| Mailing Address | 7901 4th St N, STE 300, St. Petersburg, FL 33702, United States |
| Privacy Email | privacy@saltmarshapps.com |
| Support Email | support@saltmarshapps.com |
| Legal & Terms Email | legal@saltmarshapps.com |
| General / Business Email | kent@saltmarshapps.com |