A new version (2026-09-21) takes effect on Oct 30, 2026.
The notice now names the four places your request text can be kept - conversations with memory on, remembered facts, human hand-offs and an opted-in request log - and how to delete each, what the browser extension and desktop app send (counts, never text), the self-serve account deletion and data export, and how long each plan keeps data.
Until then version 2026-09-06 applies. Signed-in users are told by e-mail and in the dashboard, and asked to accept the new version once it is in effect.
Scope
This notice covers the hosted platform - the web app and the API at the address in the footer - and the browser extension and desktop app when they talk to it. It does not cover self-hosted deployments of the open-source package, which store data only where their operator configures it, and it does not cover the model providers your requests are forwarded to when you ask for execution.
What is stored
Grouped by what you do. Everything here is readable through the API and the dashboard with your own sign-in.
Your account and sign-in
Account
E-mail address, display name, time zone, plan, creation and last sign-in time, workspace kind and slug, e-mail preferences per category, the last release you acknowledged.
Why: To operate the account and send you only the mail you asked for.
Password and two-factor
A hashed password; when you turn two-factor authentication on, the authenticator secret and hashed recovery codes.
Why: To sign you in and prove it is you.
Sign-in identities
Provider (GitHub, Google, Microsoft, GitLab, LinkedIn or your organization's identity provider), the provider's subject id, the e-mail, name and avatar it returned, first and last sign-in time.
Why: To sign you in without a password.
Browser sessions
A hashed session token, the provider used, creation, expiry and last-seen time, the browser (first 200 characters of its user-agent string) and the IP address it signed in from.
Why: To keep you signed in for 30 days, let you review and revoke sessions, and tell you about a sign-in from a device you have not used before.
API keys
A SHA-256 hash of the key, its prefix, the name, scopes, limits and expiry you give it, creation, last-use and revocation time. The key itself is shown once and never stored.
Why: To authenticate API requests.
Organization
Memberships with roles, pending invitations (e-mail and role), tenants and their constraints, the workspace policy, the single sign-on connection, budgets and alert channels (an e-mail address or a webhook URL and its secret).
Why: To apply your policy and manage who has access.
Agreements
Which version of the terms of service and of this notice you accepted, when, from which address and browser, and whether at sign-up, in the dashboard or recorded by an operator.
Why: To prove the agreement the service is provided under, and to ask you again only when a version changes.
Account history
An audit trail of what happened to the account - sign-ins and sign-in notices, keys created or revoked, plan changes, members invited, settings changed - with the time, who did it and the IP address.
Why: To let you and your organization's owners review what happened, and to investigate abuse.
Using the router
Usage records
Per metered request: time, endpoint, the key and app that sent it, chosen target and model, success and status, latency, token counts, provider cost and charge, request id, detected task, domain and complexity. Not the text.
Why: To enforce quotas, bill, show usage, savings and activity, and compute the public model statistics in aggregate.
Outcomes
The rating or result you report for a request (
POST /api/v1/feedback, a thumbs up or down in the apps) with the request and target ids.Why: To teach the router which target serves which request well.
Conversations and memory
When you continue a conversation through the playground, the desktop app or the extension, each turn's text with the target that answered; a rolling summary of older turns; the facts you tell the assistant to remember (remember that ..., your name, what you build with). Never shared between people or between an organization's API keys.
Why: To continue a thread on another device and answer with what you told it before. A switch under Memory turns it off.
Workspace knowledge
Typed facts about the topics your workspace asks about, the targets that answered well and, for a signed-in person, facts they stated about themselves; each with its source and an expiry.
Why: To place the right context in front of a model.
POST /api/v1/knowledge/forgetand the dashboard remove facts.Human hand-offs
A request the router hands to a person: its text, why it was handed over, the answer the person gave and their rating. Visible to the members of your workspace who work the Human queue.
Why: To let a person in your workspace answer what no model should.
Request log
Prompt and response text, redacted, for requests made while your workspace policy has log payloads switched on. Off by default.
Why: To let a workspace that needs it audit what was sent and answered.
Your own providers
The endpoints you configure under Model providers with their API keys and extra headers, encrypted at rest and decrypted only to make a call. Never returned by the API.
Why: To run catalogue targets on your own accounts.
Bill analyses
From a provider export you upload: the file name, the dates, provider and model names, token counts and amounts of each line, and what was assumed. Every other column is read past and never stored.
Why: To show what routing would have saved. Each analysis is listed and deletable under AI spend.
Marketplace
Listings you publish (manifest, description, versions), installs, ratings and reviews under your account.
Why: To run the marketplace. Published listings and reviews are public.
Paying
Billing
Your Stripe customer and subscription ids, billing period and state, tax status, the label of a saved payment method (never the card number), coupon and trial dates, and the Stripe events the platform receives (checkout completed, subscription and payment changes).
Why: To bill the plan and reconcile it with payments. Invoices are read from Stripe when you open them.
Wallet ledger
On pay as you go: every credit purchase, charge, refund and adjustment as a signed line with its reference, and your auto top-up setting.
Why: To show where every cent went.
Talking to us
Support tickets
Subject, category, what you wrote and every reply, the request id you attached, and who handled it.
Why: To answer you and keep the conversation on the ticket.
Sales inquiries
Name, e-mail, company, the plan and volume you asked about and your message; the address it came from.
Why: To reply, and to stop the form being used for spam.
Newsletter
Your e-mail address, when and from where you consented and the words you agreed to, your frequency, and - per issue - whether it was opened or a link followed, keyed by a hash.
Why: To send the newsletter you asked for and see which issues are read. Every issue carries a one-click unsubscribe link.
Sign-up throttle
A per-IP daily counter.
Why: To limit automated sign-ups. Not linked to an account.
Request content
The text you route - the prompt, chat history and context - is processed in memory to extract signals and make the decision. By default it is not written to the usage records, the activity log or server logs. When you set execute or call the OpenAI- or Anthropic-compatible endpoints, the text is forwarded to the model provider behind the chosen target and their terms apply; the platform keeps the token counts and cost of that call, not the content or the answer. Values in profile are hashed before they reach the learners. Personal-data detection runs on every request so that a tenant's data_boundary can keep sensitive requests on private targets; the result is a flag, and the detected values are not stored.
Text is kept in four cases, all of them yours to switch off or delete: a conversation you continue with memory on, a fact you asked the assistant to remember, a request handed to a person in your workspace, and the request log while your workspace policy logs payloads. The table above names each; details are in the platform guide and the security model.
The browser extension and the desktop app
Both apps check your writing on your device - personal details, secrets, slips, the model's fit - and nothing leaves the device for that. When you ask for an answer, a quote or a routed reply, the text you selected or typed is sent as a request under the rules above. Separately, the apps report activity to your workspace: when, which app or site category, how many requests, token estimates, the target that answered, latency and the saving - counts and names, never text; a request that tries to carry text is refused. The browser extension can also share the model and token counts it observes on the chat sites you use, off by default and switchable in its settings. Your workspace sees these figures on the Apps page; how long they are kept follows your plan (see below). The extension guide and the desktop guide list every field.
Cookies and browser storage
Your session token or API key is kept in this origin's localStorage so the dashboard can call the API; signing out removes it. The sign-in flow uses a short-lived signed state value to complete the redirect from the identity provider. Your analytics choice (below) is stored under osr-consent, and a few display preferences (theme, folded cards, the tour you finished) stay in the browser.
Every page outside the dashboard and the operator console - the landing pages, models, docs, pricing, the blog, sign-up and sign-in - loads Google Analytics 4 to count page views, sign-ups, clicks on calls to action and outbound links, copies of code snippets and page-speed measurements. It runs in Google's consent mode: until you accept the banner no analytics or advertising cookies are set and Google receives only cookieless, unidentifiable pings; IP addresses are truncated. The dashboard and the console never load the tag. Declining or changing your choice takes effect immediately:
Who processes it
- Hosting - the web app, the API and the database run on Microsoft Azure (Container Apps) in the Sweden Central region.
- E-mail - messages are delivered through Microsoft (Microsoft 365 or Azure Communication Services); the platform keeps a copy of what it sent you for 30 days so a lost link can be sent again.
- Payments - Stripe handles checkout, invoices and card details; the platform never sees card numbers.
- Sign-in - GitHub, Google, Microsoft, GitLab, LinkedIn or your organization's identity provider, only when you choose to sign in with them.
- Model providers - only when execution is requested, and only the provider behind the chosen target: the platform's providers, or your own when you configured one for that target.
- Analytics - Google LLC (Google Analytics 4) for aggregate statistics on the public pages, subject to the consent choice above. Analytics data is not linked to your account and is never joined with usage records.
Usage data is not sold or shared with anyone else, and public statistics are aggregates that cannot be traced to an account.
Retention
Account, keys, organization, agreements, marketplace listings
While the account exists.
Usage records, outcomes, request log
365 days per request by default, then only daily totals. Your plan or enterprise agreement can set a different period; the one in force for your workspace is shown under Governance.
App activity (extension and desktop)
By plan: 7 days on Free, 30 on Pro and pay as you go, 90 on Team, 365 on Enterprise. Observed chat-site usage 90 days.
Conversations, memory, workspace knowledge, hand-offs, bill analyses
Until you delete them (each has a delete in the dashboard and the API) or the workspace is deleted. Knowledge facts also expire on their own.
Browser sessions
30 days from sign-in; revoke earlier under Account. Revoked sessions and API keys stay listed as revoked.
Account history (audit)
At least 365 days.
Support tickets, sales inquiries, wallet ledger
While the account exists; the ledger is the record of what you paid.
Newsletter engagement
180 days per reader; issue totals stay.
Unconfirmed accounts
Removed 14 days after sign-up if the address is never confirmed.
Access, export and deletion
Everything above is yours to read: in the dashboard, and through the API with your own key - GET /api/v1/me, /keys, /usage, /activity, /conversations, /memory, /knowledge/facts, /handoffs, /tenants, /auth/identities, /auth/sessions and /me/listings. GET /api/v1/me/export (Your data under Account) returns everything the platform holds about you and the current workspace as one document; GET /api/v1/usage/report gives your usage as CSV, Excel or PDF.
You can revoke keys and sessions, unlink identities, leave organizations, delete conversations, memories, knowledge facts and bill analyses, and archive listings yourself. Delete my account under Account (POST /api/v1/me/delete, confirmed with your e-mail address and password) removes you: your sign-in identities, memberships, sessions and pending e-mail links are deleted, and a personal workspace only you belong to is disabled with its keys revoked. An owner deletes an organization and everything in it - keys, usage, conversations, memory, knowledge - with Delete workspace (POST /api/v1/workspace/delete). Records a disabled workspace still holds, reviews you published, and anything else you want removed are erased on request: write to security@opensmartroute.ai from the account's e-mail address.
Changes
This notice is part of the platform and every version is listed below with the date it takes effect. Material changes are announced by e-mail to every account holder and as a notification in the dashboard before they apply, and noted in the changelog. Once a new version is in effect the dashboard asks you to review and accept it. Notices about this document and the terms are part of running an account and cannot be switched off in the e-mail preferences.
Version history
Each version is identified by the date of the change. Your acceptance of a version is recorded when you sign up or when the dashboard asks you to review a change; you can see it under Account in the dashboard.
| Version | Effective | Status | What changed |
|---|---|---|---|
2026-09-21 | Oct 30, 2026 | announced | The notice now names the four places your request text can be kept - conversations with memory on, remembered facts, human hand-offs and an opted-in request log - and how to delete each, what the browser extension and desktop app send (counts, never text), the self-serve account deletion and data export, and how long each plan keeps data. |
2026-09-06 | Sep 6, 2026 | in effect | Initial published version. |
