alt_route
Route Formula

Privacy Policy

Politica de Confidențialitate

Last updated: March 26, 2026

translate The Romanian version of this Privacy Policy is the legally authoritative version. This English translation is provided for convenience only. In case of any discrepancy, the Romanian version shall prevail.

1. Data Controller Identity & Contact Details

This Privacy Policy explains how your personal data is collected, used, stored, and protected when you use the Route Formula platform (the "Service"), accessible at https://routeformula.com.

The data controller responsible for processing your personal data is:

BALANCER DAEMON S.R.L.

CUI: 44301390

Nr. Reg. Comerț: J2021000307076

Registered address: Str. Albert Einstein, Nr. 23, Ap. 2, Mun. Cluj-Napoca, Jud. Cluj, România

Email: [email protected]

Phone: +40752911022

Within the meaning of Regulation (EU) 2016/679 (the "General Data Protection Regulation" or "GDPR") and Legea nr. 190/2018 implementing the GDPR in Romania, BALANCER DAEMON S.R.L. acts as the data controller for the personal data processed through the Service.

This Privacy Policy should be read together with our Terms & Conditions and our Cookie Policy.

2. Data Protection Officer

We have appointed a Data Protection Officer ("DPO") whom you may contact with any questions or concerns regarding the processing of your personal data or the exercise of your rights:

Cosmin Nechifor

Email: [email protected]

The DPO is designated in accordance with Articles 37–39 of the GDPR and can be contacted directly for any data protection inquiries.

3. Categories of Personal Data Collected

We collect and process the following categories of personal data:

a) Account Data

  • Full name
  • Email address
  • Password (stored as a bcrypt cryptographic hash — the plaintext password is never stored)
  • Account creation and modification timestamps

b) Billing & Subscription Data

  • Subscription plan and status (free, starter, growth, business, enterprise)
  • Credit balance and reset dates
  • Stripe Customer ID and Subscription ID (identifiers linking your account to our payment processor)
  • Payment failure status

Note: We do not store your credit card number, CVV, or full payment details. All payment information is processed and stored exclusively by Stripe, our PCI DSS-compliant payment processor.

c) Vehicle & Driver Data

  • Vehicle name and capacity
  • Driver name
  • Maximum tasks and travel time per trip

d) Delivery Stop Data

  • Client names (from uploaded CSV/XLSX files)
  • Delivery addresses (city, county)
  • GPS coordinates (latitude, longitude) obtained through geocoding
  • Package weights and quantities

e) Route Optimization History

  • Optimized route results (delivery order, assigned vehicles, waypoints)
  • Total distances and durations
  • Unassigned stops
  • Optimization timestamps

f) File Upload Data

  • CSV and XLSX files uploaded for delivery stop import
  • Files are stored temporarily (maximum 10 minutes) and automatically deleted after the import session completes or expires

g) Authentication & Session Data

  • JSON Web Tokens (JWT) containing your user ID, email, and name — stored as an HTTP-only cookie (ro_auth) and in browser local storage
  • Token version (for session invalidation on password change)
  • Password reset tokens (cryptographically hashed, 1-hour expiry)

h) Technical & Security Data

  • IP address (collected for rate limiting and security audit logging)
  • User-Agent string (browser type and version)
  • Security event logs (login attempts, registration, password resets — including success/failure status)

i) Geocoding Cache Data

  • Address search queries and coordinate pairs
  • Geocoding results from OpenRouteService
  • Cached for 30 days to reduce redundant API calls, then automatically deleted

4. Purposes of Processing & Legal Basis

We process your personal data only when we have a valid legal basis under Article 6 of the GDPR. The following table summarizes the purposes and corresponding legal bases:

a) Performance of a Contract — Art. 6(1)(b) GDPR

  • Account creation and management — we process your name, email, and password to create and maintain your user account
  • Route optimization service delivery — we process delivery stops, addresses, GPS coordinates, and vehicle data to provide the core route optimization functionality
  • File import processing — we process uploaded CSV/XLSX files to extract delivery stop data necessary for route optimization
  • Billing and subscription management — we process billing data through Stripe to manage your subscription, process payments, and maintain your credit balance
  • Fleet management — we process vehicle and driver data to enable fleet configuration for route optimization
  • Transactional emails — we send welcome emails and password reset emails as part of account management

b) Consent — Art. 6(1)(a) GDPR

  • Marketing communications — with your explicit consent collected via opt-in checkbox at registration, we may send you promotional emails about new features, updates, or offers. You may withdraw your consent at any time (see Section 8)
  • Non-essential cookies and local storage — language preference cookies and UI state storage are set with your consent (see Section 10)
  • Product analytics (PostHog) — pageview tracking, session recording, heatmap data, and autocapture events are processed only after you provide explicit opt-in consent via the cookie consent banner. You may withdraw your consent at any time (see Section 10 and our Cookie Policy)

c) Legitimate Interest — Art. 6(1)(f) GDPR

  • Security and fraud prevention — we log IP addresses, User-Agent strings, and security events (login attempts, failed authentications) to protect the Service against unauthorized access, brute-force attacks, and abuse. Our legitimate interest in maintaining the security and integrity of the Service is balanced against the minimal intrusiveness of this processing, which uses data that is routinely transmitted in HTTP requests
  • Rate limiting — we process IP addresses to enforce rate limits and prevent abuse of the Service. Rate limit data is automatically deleted after the rate window expires (typically 60 seconds)
  • Error tracking and service improvement — we use Sentry to collect error reports (stack traces, request context) to diagnose and fix bugs. User IDs may be attached for debugging context, but sensitive data (passwords, tokens) is filtered out. Our legitimate interest in maintaining a stable service outweighs the limited impact on your privacy
  • Geocoding cache — we cache geocoding results for 30 days to improve service performance and reduce third-party API costs. This processing is minimally intrusive as the data is technical in nature

d) Legal Obligation — Art. 6(1)(c) GDPR

  • Financial and tax records — we retain billing and transaction records for up to 10 years as required by Romanian fiscal legislation (Legea nr. 82/1991 — Legea contabilității, Codul fiscal)

5. Recipients & Third-Party Processors

We share your personal data with the following third-party service providers who act as data processors on our behalf, or as independent controllers where indicated. Each processor is bound by a Data Processing Agreement (DPA) in accordance with Article 28 of the GDPR.

a) Stripe, Inc. — Payment Processing

  • Data shared: Email address, user ID (in metadata), subscription plan information
  • Purpose: Processing subscription payments, managing billing portal, handling invoices
  • Role: Independent data controller for payment card data; data processor for billing metadata
  • Privacy Policy: stripe.com/privacy

b) OpenRouteService (Heidelberg Institute for Geoinformation Technology) — Geocoding

  • Data shared: Address text queries, GPS coordinate pairs
  • Purpose: Converting addresses to GPS coordinates (forward geocoding) and coordinates to addresses (reverse geocoding)
  • Role: Data processor
  • Privacy Policy: openrouteservice.org/privacy

c) Sentry (Functional Software, Inc.) — Error Tracking

  • Data shared: Error messages, stack traces, request URLs and methods, user ID (for context). Sensitive data (passwords, tokens, secrets) is automatically filtered out
  • Purpose: Monitoring application errors, diagnosing bugs, maintaining service stability
  • Role: Data processor
  • Privacy Policy: sentry.io/privacy

d) Resend (Resend, Inc.) — Email Delivery

  • Data shared: Email address, user name, email content (welcome messages, password reset links)
  • Purpose: Sending transactional and marketing emails on our behalf
  • Role: Data processor
  • Privacy Policy: resend.com/legal/privacy-policy

e) Google Fonts (Google LLC) — Font Delivery

  • Data shared: IP address, browser information (transmitted automatically when loading fonts)
  • Purpose: Serving the Inter typeface and Material Symbols icons
  • Role: Independent data controller
  • Privacy Policy: policies.google.com/privacy

f) OpenStreetMap Foundation — Map Tiles

  • Data shared: IP address, map viewport coordinates (transmitted when loading map tiles)
  • Purpose: Displaying interactive maps with route visualizations
  • Role: Independent data controller
  • Privacy Policy: osmfoundation.org/wiki/Privacy_Policy

g) CDN Providers (unpkg, Tailwind CDN, cdnjs) — Static Assets

  • Data shared: IP address, browser information (transmitted automatically when loading scripts and stylesheets)
  • Purpose: Delivering JavaScript libraries and CSS frameworks

h) PostHog, Inc. — Product Analytics (Consent-Gated)

  • Data shared: Pageview events, click interactions (autocapture on landing page), session recordings (on landing page and application pages), heatmap interaction data, device and browser information, anonymous device identifier
  • Purpose: Understanding how the Service is used to improve the product experience, identifying usability issues, and measuring feature adoption
  • Role: Data processor
  • Consent required: PostHog is only activated after you provide explicit opt-in consent for the "Analytics" category via the cookie consent banner. No data is collected or shared until consent is granted
  • Privacy Policy: posthog.com/privacy

We do not sell your personal data to any third party. We use PostHog for consent-gated product analytics (see Section 4b and our Cookie Policy for details). We do not use Google Analytics, Mixpanel, Hotjar, or any advertising or retargeting service.

6. International Data Transfers

Our primary data infrastructure (application servers and MongoDB database) is hosted within the European Union / European Economic Area (EU/EEA). Your personal data is stored and processed primarily within the EU/EEA.

However, some of our third-party service providers are established in the United States or may process data outside the EEA. Where such transfers occur, they are protected by appropriate safeguards in accordance with Chapter V of the GDPR (Articles 44–49):

  • Stripe, Inc. (USA) — transfers are covered by the EU-U.S. Data Privacy Framework (adequacy decision of the European Commission dated 10 July 2023) and Standard Contractual Clauses (SCCs)
  • Sentry / Functional Software, Inc. (USA) — transfers are covered by Standard Contractual Clauses (SCCs) pursuant to Commission Implementing Decision (EU) 2021/914
  • Resend, Inc. (USA) — transfers are covered by Standard Contractual Clauses (SCCs)
  • Google LLC (USA) — transfers are covered by the EU-U.S. Data Privacy Framework and Standard Contractual Clauses (SCCs)
  • PostHog, Inc. (USA) — transfers are covered by Standard Contractual Clauses (SCCs). PostHog data is only transferred when you have granted analytics consent

You may request a copy of the relevant Standard Contractual Clauses by contacting us at [email protected] or the DPO at [email protected].

7. Data Retention Periods

We retain your personal data only for as long as necessary for the purposes for which it was collected, or as required by law. The specific retention periods are:

Data Category Retention Period
Account data (name, email, password hash) Until account deletion is requested
Route optimization history 2 years from creation, or until deleted by user
Vehicle & driver data Until deleted by user or account deletion
File uploads (CSV/XLSX) 10 minutes (automatically deleted)
Geocoding cache 30 days (automatically deleted via TTL)
Rate limit records 60 seconds (automatically deleted via TTL)
Security & audit logs 1 year
Billing & financial records 10 years (Romanian fiscal law — Legea nr. 82/1991)
JWT authentication tokens 7 days (expiration built into token)
Password reset tokens 1 hour (automatically invalidated)
Sentry error reports 90 days (Sentry default retention)

Upon account deletion, we will delete or anonymize all personal data associated with your account, except where retention is required by law (e.g., financial records). Data held by third-party processors is subject to their respective retention policies.

8. Your Rights as a Data Subject

Under the GDPR, you have the following rights regarding your personal data. You may exercise any of these rights free of charge by contacting us at [email protected] or the DPO at [email protected]. We will respond to your request within one month of receipt, in accordance with Article 12(3) of the GDPR.

a) Right of Access (Art. 15 GDPR)

You have the right to obtain confirmation as to whether your personal data is being processed and, if so, to access that data along with information about the purposes, categories, recipients, and retention periods. You can view your account data, vehicles, and optimization history directly within the Service.

b) Right to Rectification (Art. 16 GDPR)

You have the right to have inaccurate personal data corrected and incomplete data completed. You can update your name directly in your profile settings. For other corrections, contact us.

c) Right to Erasure / "Right to Be Forgotten" (Art. 17 GDPR)

You have the right to request the deletion of your personal data when it is no longer necessary for the purposes for which it was collected, when you withdraw consent, or when the data has been unlawfully processed. This right does not apply where processing is necessary for compliance with a legal obligation (e.g., financial records retained under Romanian fiscal law).

d) Right to Restriction of Processing (Art. 18 GDPR)

You have the right to request restriction of processing when you contest the accuracy of your data, when processing is unlawful but you oppose erasure, when we no longer need the data but you require it for legal claims, or when you have objected to processing pending verification.

e) Right to Data Portability (Art. 20 GDPR)

You have the right to receive your personal data in a structured, commonly used, and machine-readable format (e.g., JSON or CSV), and to transmit that data to another controller without hindrance. This right applies to data processed on the basis of consent or contract performance and by automated means.

f) Right to Object (Art. 21 GDPR)

You have the right to object to processing based on legitimate interests (Art. 6(1)(f)). Upon objection, we will cease processing unless we demonstrate compelling legitimate grounds that override your interests, rights, and freedoms. You have an absolute right to object to processing for direct marketing purposes at any time.

g) Right Related to Automated Decision-Making (Art. 22 GDPR)

You have the right not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning you or similarly significantly affects you. See Section 9 for details on our automated decision-making.

h) Right to Withdraw Consent

Where processing is based on your consent, you have the right to withdraw that consent at any time. Withdrawal of consent does not affect the lawfulness of processing carried out before the withdrawal. To withdraw consent for marketing emails, use the "unsubscribe" link in any marketing email or contact us directly.

i) Right to Lodge a Complaint

If you believe that we have infringed your rights under the GDPR, you have the right to lodge a complaint with the Romanian supervisory authority:

Autoritatea Națională de Supraveghere a Prelucrării Datelor cu Caracter Personal (ANSPDCP)

B-dul G-ral. Gheorghe Magheru 28-30, Sector 1, București, 010336, Romania

Website: www.dataprotection.ro

9. Automated Decision-Making

The Service uses automated processing in the following way:

Route Optimization Algorithm

When you request a route optimization, the Service uses the VROOM optimization engine to automatically determine the optimal order of delivery stops and vehicle assignments. This process:

  • Takes your delivery stops (addresses, coordinates) and vehicle fleet configuration as input
  • Applies mathematical algorithms to minimize total travel distance and time
  • Automatically assigns stops to vehicles and determines the optimal sequence
  • Returns the optimized routes as a suggestion for your review

Nature and significance: The route optimization is a tool that provides suggestions — it does not produce legal effects concerning you and does not make binding decisions. You retain full control over whether to follow the suggested routes, modify them, or discard them entirely. The optimization is performed locally on our infrastructure and does not involve profiling or scoring of individuals.

Human review: All optimization results are presented to you for review before any action is taken. You can manually adjust routes, reassign stops between vehicles, or re-run the optimization with different parameters.

If you have concerns about the automated route optimization, you may contact us or the DPO to discuss alternative arrangements.

10. Cookies & Local Storage

The Service uses cookies and browser local storage as described below. For a comprehensive description, please see our Cookie Policy.

a) Essential / Strictly Necessary

  • ro_auth cookie — HTTP-only, Secure, SameSite=Lax cookie containing your JWT authentication token. Expires after 7 days. This cookie is strictly necessary for the Service to authenticate you and cannot be disabled. Legal basis: Contract performance (Art. 6(1)(b)) and exemption under Article 5(3) of Directive 2002/58/EC (transposed by Legea nr. 506/2004)

b) Functional

  • ro_logged_in (localStorage) — Boolean flag indicating login status for UI rendering
  • ro_user_name (localStorage) — Cached user name for display in the navigation bar
  • ro_user_email (localStorage) — Cached user email for display purposes
  • ro_privacy_lang (localStorage) — Your language preference for this page (EN/RO)
  • ro_terms_lang (localStorage) — Your language preference for the Terms & Conditions page
  • sectionStates (localStorage) — Wizard UI section collapse/expand state

c) Analytics (Consent-Gated)

  • ph_phc_*_posthog (Cookie) — PostHog anonymous device identifier. Only set after you grant analytics consent via the cookie consent banner

The Service does not use any advertising cookies, retargeting cookies, or behavioural profiling cookies. For a comprehensive description of all cookies and storage, see our Cookie Policy.

You can clear local storage data at any time through your browser settings. Clearing the ro_auth cookie will log you out of the Service.

11. Security Measures

We implement appropriate technical and organizational measures to protect your personal data in accordance with Article 32 of the GDPR. These measures include, but are not limited to:

Technical Measures:

  • Password security — all passwords are hashed using the bcrypt algorithm with a cost factor of 10 before storage. Plaintext passwords are never stored or logged
  • Transport encryption — all communications between your browser and our servers are encrypted using HTTPS/TLS. HTTP Strict Transport Security (HSTS) is enforced with a maximum age of 2 years
  • Authentication tokens — JWT tokens are stored in HTTP-only cookies (inaccessible to JavaScript) with Secure and SameSite=Lax flags
  • Content Security Policy (CSP) — restricts the sources from which scripts, styles, fonts, and other resources can be loaded, mitigating cross-site scripting (XSS) attacks
  • Security headers — X-Frame-Options: DENY (prevents clickjacking), X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin
  • Rate limiting — protects against brute-force attacks on authentication endpoints (5 requests/minute) and general abuse (100 requests/minute)
  • CORS policy — restricts cross-origin requests to explicitly allowed domains
  • Input validation and sanitization — file names, email content, and user inputs are sanitized to prevent injection attacks
  • Sensitive data filtering — passwords, tokens, and secrets are automatically stripped from error reports sent to Sentry
  • Token invalidation — on password change, all existing sessions are invalidated via token version incrementing

Organizational Measures:

  • Access to personal data is restricted to authorized personnel on a need-to-know basis
  • Security audit logging tracks authentication events for monitoring and incident response
  • Third-party processors are selected based on their security certifications and GDPR compliance (e.g., Stripe is PCI DSS Level 1 certified)

While we strive to protect your data, no method of electronic storage or transmission over the Internet is 100% secure. We encourage you to use a strong, unique password and to keep your login credentials confidential.

12. Policy Updates

We may update this Privacy Policy from time to time to reflect changes in our data processing practices, legal requirements, or business operations. When we make changes:

  • The "Last updated" date at the top of this page will be revised
  • For minor changes (clarifications, typographical corrections), the updated policy will be published on this page without further notice
  • For material changes that affect the scope of data processing, the legal basis, or your rights, we will notify you via email at the address associated with your account at least 30 days before the changes take effect
  • Where required by law, we will obtain your renewed consent before applying material changes to the processing of your personal data

Your continued use of the Service after the updated Privacy Policy becomes effective constitutes your acknowledgment of the changes. If you do not agree with the updated policy, you may request account deletion by contacting us.

We recommend reviewing this page periodically to stay informed about how we protect your data.

13. Contact Information

If you have any questions, concerns, or requests regarding this Privacy Policy or the processing of your personal data, please contact us:

BALANCER DAEMON S.R.L.

CUI: 44301390

Nr. Reg. Comerț: J2021000307076

Registered address: Str. Albert Einstein, Nr. 23, Ap. 2, Mun. Cluj-Napoca, Jud. Cluj, România

Email: [email protected]

Phone: +40752911022

Data Protection Officer: Cosmin Nechifor[email protected]

For exercising your data subject rights, please direct your request to [email protected] or [email protected]. We will confirm receipt of your request within 3 business days and provide a substantive response within one month, as required by Article 12(3) of the GDPR.

See also: Terms & Conditions · Cookie Policy