Docs/Privacy Policy

Privacy Policy

How Transit Planner handles information — including AI conversations, approximate location, analytics, and product usage tracking — in a typical deployment.

Last updated: August 31, 2026

Note: This document reflects the current app behavior, including analytics instrumentation, but it should still be reviewed by counsel for your organization's specific deployment and legal needs.

Table of Contents

1.Overview2.Information We Collect3.How We Use Information4.Sharing and Third Parties5.Data Retention6.Analytics, Cookies, and Similar Technologies7.Security8.Your Choices9.Contact
1

Overview

This Privacy Policy describes common data flows in Transit Planner deployments. Actual data handling can vary depending on how the app is deployed — local, self-hosted, or hosted. The operator of your deployment is the "data controller" for most uses.

2

Information We Collect

Account information
If sign-in is enabled, your name, email, and profile image may be provided by the authentication provider.
User content
Routes, stops, boundaries, uploads, and messages you submit (including AI prompts and planning context).
AI conversations
When you use the AI assistant, your message and the assistant's reply are processed, along with the tools it runs on your behalf and the arguments and results of those tools — for example a map area you asked about, or the ranked service-gap results returned for it.
Feedback and bug reports
If you submit feedback, the message you write and the name you optionally provide are sent to the deployment operator.
Network and approximate location
Your IP address, and coarse location derived from it by the hosting provider — country, region, city, approximate coordinates, postal code, and timezone. This is derived from the network connection, not from device GPS, and is approximate.
Usage data
Basic logs and product analytics used to operate, secure, and improve the service — for example, request metadata, error logs, page loads, feature usage, overlay toggles, lines created, stations placed, portals added, import/export actions, and analysis-tool activity.
3

How We Use Information

  • Provide core functionality — map editing, imports/exports, AI-assisted workflows.
  • Maintain session history and recover work, where enabled.
  • Measure product usage and understand which tools are used most often, such as route generation, council workflows, overlays, and network-building actions.
  • Debug and improve AI quality — recorded traces of an AI turn let the operator see which tool the assistant chose, what it received back, and where an answer went wrong.
  • Notify the deployment operator of activity such as new visits, submitted feedback, and reported bugs.
  • Monitor performance, troubleshoot errors, and prevent abuse.
4

Sharing and Third Parties

Transit Planner may send data to third-party services depending on enabled features:

Map renderingMap tile requests may be sent to a map provider (e.g., Mapbox). Their privacy policy applies.
AuthenticationSign-in can be handled by an identity provider (e.g., Auth0). Your profile data is managed by that provider.
AnalyticsIf analytics are enabled for a deployment, usage events may be sent to Mixpanel. These events can include page visits, feature usage, counts of lines and stations in a plan, station-placement and line-creation actions, analysis-tool usage, and related product interaction metadata.
AI servicesWhen AI features are used, your prompts and the surrounding planning context are sent to the configured model provider (Anthropic, or Google Gemini) to generate a response. Their privacy policy applies.
AI observabilityIf tracing is enabled for a deployment, a record of each AI turn may be sent to Langfuse. A trace includes your message, the assistant's reply, the tools it called with their arguments and results, and the model name, token counts, and estimated cost. The Langfuse project used by a deployment may be hosted in the United States or the European Union, depending on how the operator configured it.
Operator notificationsIf webhooks are configured, the app posts activity notices to the operator's Discord workspace. These can include visit events with the IP address and derived approximate location described in section 2, the first 200 characters of an AI chat message, council planning request details, and the full text of feedback and bug reports.
Text-to-speechIf enabled, selected text may be sent to a speech provider (ElevenLabs) to generate audio output.
Hosting and data storageApplication data and the reference datasets behind planning tools are stored with the deployment's backend provider (Supabase). Hosted deployments run on a cloud host (Vercel), which processes requests and provides the approximate-location headers noted above.
5

Data Retention

Retention depends on deployment configuration. Local and self-hosted deployments can choose to retain data only on the local machine or server. Hosted deployments may retain data to support features like session history and auditing. Contact your deployment operator for their specific retention policy.

Information already sent to the third parties in section 4 is retained under their policies and settings, not this one. In practice that means notifications posted to an operator’s Discord workspace persist in that channel until someone deletes them, and AI traces persist for the retention period configured on the operator’s Langfuse project. AI conversation state itself is held in server memory for an active session and is lost when the server restarts.

6

Analytics, Cookies, and Similar Technologies

Hosted deployments may use analytics and browser storage technologies to understand how the app is used and to keep certain preferences or sessions working correctly. Where Mixpanel is enabled, the app may store a browser identifier and record product events tied to app usage.

Depending on configuration, analytics events may include items such as page loads, feature toggles, route generation requests, council-tool activity, imports and exports, total lines and stations in a project, lines created, stations moved or placed, portals added, and related interaction metadata. If a user is signed in, analytics may also be associated with that account identifier.

7

Security

We use reasonable administrative and technical measures designed to protect information. No method of transmission or storage is completely secure. We encourage you to use strong, unique credentials and to report suspected security issues to your deployment operator.

8

Your Choices

Your choices depend on the deployment you are using. Local and self-hosted deployments may allow the operator to disable analytics entirely. Hosted deployments may also offer browser controls, privacy tools, or account settings that affect analytics and stored data.

This build honours a browser-level opt-out: setting a skip_tracking key to any non-empty value in your browser local storage stops product analytics and visit reporting from that browser. Because it is stored per browser, it does not carry across devices, and clearing site data removes it. It does not affect the AI features described in sections 2 and 4 — if you do not want your conversations processed or recorded, do not use the AI assistant.

If you want data deleted, exported, or corrected, contact the operator of your deployment. If you run Transit Planner yourself, you control those choices directly.

9

Contact

For privacy questions, contact the operator of your deployment. If you are running Transit Planner locally, you control your own data and are your own data controller.

For privacy questions, contact the operator of your deployment. See also our Terms of Use.