Security

How we protect your data and your safety.

Infrastructure

  • Encryption in transit: All connections use TLS 1.3. HSTS is enforced with preloading.
  • Encryption at rest: All database records are encrypted at rest via our hosting provider Convex.
  • Authentication: Handled by Clerk with industry-standard OAuth 2.0 flows, session management, and JWT verification.
  • Payment processing: Stripe handles all payment data. We never see or store your card number, CVV, or billing details.

Application Security

  • Authentication on every request: Every API call verifies user identity before returning data.
  • Ownership verification: Users can only access their own trips, check-ins, routes, and emergency contacts.
  • Input validation: All data is validated at the schema level — malformed requests are rejected before processing.
  • Webhook verification: All incoming webhooks (Clerk, Stripe) are cryptographically verified before processing.
  • Security headers: X-Frame-Options, Content-Type-Options, Referrer-Policy, Permissions-Policy, and Strict-Transport-Security are enforced on every response.

Data Protection

  • Location data: Only collected when you actively use location-dependent features (check-in, route checking). Never tracked in the background.
  • Emergency contacts: Encrypted and only accessible by the account owner. Shared with contacts only when a check-in is missed.
  • No data selling: We never sell, rent, or share your personal data with advertisers or data brokers.
  • Minimal data collection: We collect only what is necessary to provide the service.

Reporting Vulnerabilities

If you discover a security vulnerability, please report it responsibly to security@safesolo.travel. We take all reports seriously and will respond within 48 hours.