Privacy policy
Last updated 10 November 2026
In short
- This website sets no cookies and sends nothing to anyone else. Its fonts, scripts and images come from semlith.com; it counts page views on our own analytics server, and the pricing page asks only our own Semlith Cloud which country you are in, to choose the currency.
- The free semlith binary runs on your machine and sends nothing about your files or your questions to us. It talks to Semlith Cloud only if you sign it in.
- Semlith Cloud reads only the accounts you connect and only the parts you pick, read only. It indexes them into your organisation's own stores and answers only the people and tokens you allow.
- Your code, documents and questions never train a model, and we never sell them or use them for advertising.
- Payments are handled by Dodo Payments. We never see your card.
This policy takes effect on 25 October 2026.
Who is responsible
Aakash Pawar, an individual in India, trading as semlith ("Semlith", "we", "us"), is responsible for the personal data described here. Contact: support@semlith.com.
This website
semlith.com sets no cookies and loads its fonts, scripts and images only from itself. The servers that deliver it keep standard access logs (IP address, time, page and browser) only to run and protect the site; they are not used to follow anyone.
To see which pages people read, every page reports a page view to analytics.semlith.com, our own server running OpenPanel, open-source analytics software; no third party receives it. A page view carries the page's address and title, the page you came from, and your screen size and language. From your browser's user agent and IP address the server works out the browser, operating system and type of device, and an approximate location (country, region and city). Your IP address itself is not stored: to tell visits apart OpenPanel combines it with your user agent and a secret that changes every day, so a visit cannot be linked to one on another day. No cookie is set, and nothing about you is kept in your browser. We use page views only to count visits, never to identify anyone or for advertising.
To choose the currency, the pricing page asks Semlith Cloud (cloud.semlith.com) which country your IP address is in: prices are in US dollars, and in India in rupees as well. The lookup runs on our own server against a local copy of the DB-IP Lite country database. Your address is not stored or logged for it, and no third party sees it. IP geolocation by DB-IP.
The free binary
The semlith binary indexes the folders you point it at on your own machine. Your files, your index and your questions stay there; the binary sends none of them to us. It downloads its open embedding model once, when it first needs it.
Until you sign it in to Semlith Cloud (semlith cloud login), it makes no connection to Semlith Cloud at all. Once you do, it keeps the token on your machine and sends it only to the host you signed in to, and:
- a search that includes your organisation's hosted stores sends the question to Semlith Cloud to be answered there;
semlith cloud pushuploads the files you name to a store;- only for a store where you turn sync on, it sends that store's ledger rows (when, client, session, tool and tokens, never the query text) once a minute.
Your Semlith Cloud account
- Sign-in: you sign in with GitHub or GitLab, or with your organisation's single sign-on (SAML). Sign-in runs on id.semlith.com, an identity service we host ourselves on our own server. It keeps your email address, your name, the GitHub, GitLab or SSO identity you sign in with, and your sign-in sessions. From GitHub we ask only to read your profile and email addresses (
read:user,user:email), nothing about your repositories; from GitLab, your profile and email (openid,profile,email,read_user). We read the account's creation date because a trial needs an account at least 30 days old. - Your organisation: its name, its members and their roles, the addresses you invite, and, for single sign-on, your email domain and your identity provider's SAML details.
- Cookies: cloud.semlith.com uses only the cookies needed to sign you in, keep you signed in (a session lasts up to 30 days) and complete connecting an account. None track you.
- Tokens: an organisation's access tokens are shown once. We keep only a prefix, a keyed hash and the stores each token may reach.
- Connected apps: when you connect Claude or ChatGPT/Codex by signing in, we keep the app's name and the web address it returns to, who connected it, to which workspace, when it was connected and last used, and keyed hashes of its access and refresh tokens. A connection can only search and read. Disconnecting it under Agents › Connected ends it at once; its record goes a day later, and its ledger rows stay as any agent's do. For ChatGPT and Claude we also keep the public client description each one publishes.
Accounts you connect
An owner or admin connects an account once on the Connectors page, and each store picks from it. These rules hold for every connector:
- Read only. Semlith never pushes, edits, deletes or changes settings in a connected account. The one thing it writes is GitHub's optional pull-request impact check, below.
- Only what you pick. Semlith lists what the account can reach so you can choose, and fetches and indexes only the repositories, projects, spaces, folders and libraries you add to a store.
- What is kept: a working copy of the fetched files on our encrypted store volume so they can be re-indexed, and the index built from them: file names and paths, text chunks, symbols, the links between them and their vectors. Also the connected account's name (below) and the time and person that connected it.
- Credential files stay out: files that look like credentials are refused, in repositories, drives and uploads alike.
- Tokens are encrypted at rest (XChaCha20-Poly1305, under a key kept outside the database). A database copy alone never yields a working Google, Microsoft or Atlassian token.
- Staying current: GitHub re-indexes on push; the others are checked about once a minute and re-indexed only when something changed; every source is caught up once a day.
- Who sees it: what a store holds is searchable by every member and token of your organisation that reaches that store, and by no one else. Stores never cross organisations.
GitHub
You install the Semlith GitHub App on the account or organisation and repositories you choose. Its permissions are Contents (read), Metadata (read), Pull requests (read and write) and Checks (read and write). It reads the repositories' files on the branches the store's rule picks (the default branch unless you choose others), as a shallow copy with no git history. The write permissions exist for the impact check alone: on a pull request it reads the changed files, then posts one semlith/impact check and one comment. GitHub's short-lived installation tokens are never stored.
GitLab
The connector asks for read_api, read_repository and read_user: it lists the projects you can read, keeps a shallow copy of each picked project's default branch, and stores your GitLab username.
Confluence and Jira (Atlassian)
The connector asks for read:me and offline_access, plus, for Confluence, read:space:confluence, read:page:confluence, read:attachment:confluence and read:confluence-content.all, and for Jira, read:jira-work and read:jira-user. It reads the Confluence spaces, pages and attachments you pick, and, for the Jira projects you pick, each issue's key, summary, status, type, description, last update and comments. It stores the Atlassian site's address and id.
Semlith does not store personal data from Atlassian accounts (names, emails, avatars). A Jira comment is indexed with its date and no author; a mention, or a Confluence link to a person, reads @someone; a personal space is listed as "Personal space", not by its owner's name; and an issue's assignee, reporter and creator are never requested. Text indexed before 5 October 2026 that carried such names is rewritten the next time its source runs.
The pages and issues you choose to index are your content: whatever people typed into them is kept as written, used only to answer your organisation's searches, and deleted with the source or the store (below).
Google Drive
The connector asks for openid, email and https://www.googleapis.com/auth/drive.readonly. It uses them to list your shared drives and folders so you can pick, to list and download the files in the folders you pick (Google Docs, Sheets and Slides are exported as text), to notice when they change, and to show which Google address is connected. It stores that email address, the fetched files and the index built from them. How we treat Google user data is set out under Google user data.
OneDrive and SharePoint (Microsoft)
The connector asks for the delegated permissions offline_access, User.Read, Files.Read.All and Sites.Read.All: it can read only what the signed-in person can read. It lists your OneDrive and the SharePoint sites and document libraries you can read so you can pick, downloads and indexes the files in what you pick, and stores your organisation's Microsoft domain and tenant id, or a personal account's sign-in name. In many work tenants a Microsoft 365 admin has to approve Semlith once before others can connect.
Uploads
Files you upload in the browser or with semlith cloud push are kept so the store can be re-indexed. Removing the source deletes the files.
Google user data
Semlith's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. In particular:
- We use Google user data only to provide the Google Drive connector: indexing the folders you pick and answering your organisation's searches from them.
- We do not transfer it to anyone else, except as needed to provide that feature (your organisation's members and tokens see search results; for Pro and Team, chunks are embedded on the confidential GPU server described under Where your content is turned into vectors; our encrypted backups are described below), to comply with the law, or as part of a merger, acquisition or sale of assets after notice to you.
- We never use it for advertising, including retargeting, personalised or interest-based ads, and we never sell it.
- No person at Semlith reads it, unless you ask us to for specific files, it is needed for security (such as investigating abuse), it is needed to comply with the law, or it has been aggregated and anonymised for running the service.
- We never use it to develop, improve or train generalised or non-personalised AI or machine-learning models. Semlith trains no model at all: it turns text into vectors with fixed, openly published embedding models that we run ourselves, on our own server or, for Pro and Team, on a confidential GPU server we rent (see Where your content is turned into vectors), and no third-party embedding or AI service sees your content.
Disconnecting and revoking access
An owner or admin can disconnect any account on the Connectors page. That deletes its stored tokens at once and pauses every source that uses it; it deletes no indexed content (remove the sources or delete the store for that). To withdraw the permission at the provider as well:
- GitHub: uninstall the Semlith app under Settings › Applications › Installed GitHub Apps (for an organisation, in its settings), and revoke the sign-in app under Authorized OAuth Apps.
- GitLab: revoke Semlith under Preferences › Applications.
- Atlassian: remove Semlith under Connected apps in your Atlassian account.
- Google: remove Semlith under Third-party apps & services in your Google Account.
- Microsoft: a personal account under Apps and services; a work account under My Apps, or by your admin in Microsoft Entra.
Where your content is turned into vectors
Indexing splits what you connect into text chunks and turns each chunk into a vector with an open embedding model. We run that model ourselves:
- On our own server (Google Cloud, Mumbai) for most jobs, and for every job when no GPU server is available.
- On a confidential GPU server, for Pro and Team (trials included): we rent one Google Cloud Confidential VM with an NVIDIA RTX PRO 6000 GPU in Mumbai (
asia-south1) and start it for big jobs, a store's first import or a full re-index. While it is running, other Pro and Team indexing may use it too. - What it receives: only the text of the chunks being embedded (a chunk can include its file's path), and it sends back their vectors. It never receives your connected accounts' tokens, your stores, your ledger or your queries. Connectors, chunking, the index and the stores stay on our server.
- Before any chunk is sent, our server opens an encrypted connection (TLS 1.3) and checks two attestations bound to that connection's key: Google's, that the server is a Confidential VM with AMD SEV memory encryption and secure boot in our project, and NVIDIA's, that its GPU is in confidential-computing mode. If either check fails, no chunk is sent and the job runs on our own server. The server uses AMD SEV, not the newer SEV-SNP, which Google does not offer with these GPUs.
- What it keeps: nothing. It holds chunks in memory only while embedding them, writes none to disk and logs only counts and timings. Nobody can sign in to it: it has no SSH access, and only our server can reach it. We delete it when it has been idle for a few minutes, and Google may stop it at any time, in which case the job finishes on our own server.
- Enterprise is unchanged: it runs in your own infrastructure, on your own CPUs or NVIDIA GPUs, and sends nothing to us or to Google.
The ledger and service logs
- The ledger: one hash-chained row for each query your tools make and each impact-check citation: organisation, token, the tool's client name, which pieces were returned, their size and the time. Never the text of the query, unless your organisation turns that on. Admin acts (new stores, sources and connectors, role changes, deletions) are ledger rows too. On Enterprise, the ledger is streamed to your organisation's SIEM: every row, or the stores and kinds it picks.
- Service logs: organisation, route, outcome, duration and the first characters of the token. Never a query's text or a file's content, and never an IP address beyond the rate limiter's short window.
Payments
Dodo Payments is our merchant of record. It collects and holds your payment details, billing address and tax information under its own privacy policy, and tells us only the result: which plan, how many seats, and whether the subscription is active. We never see your card or bank details.
Semlith Cloud sends invitations, cap notices, trial and billing mail, the monthly ROI mail to a Team's owners, and the reports you schedule from no-reply@semlith.com through Brevo; replies go to support@semlith.com. Mail you send to any semlith.com address is kept in our Zoho Mail mailboxes.
How long we keep it, and how it is deleted
- The ledger: 30 days on Pro and Team; Enterprise runs in your own infrastructure and keeps it three years. Turning query text off deletes every stored query string at once.
- Remove a source: its chunks, edges and ledger rows in that store go within the hour; for an upload, its files too.
- Delete a store: its index, graph and ledger rows go within the hour; the sources themselves are untouched.
- Disconnect an account: its tokens go at once and its sources pause; nothing indexed is deleted.
- Revoke a token: its hash goes at once; its ledger rows stay.
- Delete the organisation: every store, ledger row and token goes within the hour, and the backups at their next rotation.
- A plan that ends (cancelled, a trial that ends unpaid, or a payment refunded or charged back): the workspace (stores, ledger, members) is kept for 30 days, so you can come back or download your store, and then deleted. The free binary keeps working.
- Backups: the database and the stores are backed up nightly as encrypted snapshots, kept 7 days and then rotated out, so anything deleted leaves the backups within 7 days.
- Your account is kept while you use Semlith Cloud; ask us and we delete it.
Your store is yours: a hosted store downloads as a directory and opens in the free binary, offline.
Who processes data for us
- Google: Google Cloud runs the server this website and Semlith Cloud run on, with its database, identity service and stores, and the confidential GPU server that embeds Pro and Team indexing jobs (see above), both in Mumbai, India, and checks the GPU server's attestation; Google Drive holds our nightly backups, which are encrypted on our server before they leave it.
- NVIDIA: its attestation service checks that the GPU server's GPU is in confidential-computing mode. It receives the GPU's hardware report and a random number, never your content.
- Dodo Payments: payments, tax and invoices, as merchant of record.
- Anthropic and OpenAI: when you connect Claude or ChatGPT/Codex by signing in, Semlith Cloud reads the public description and keys their app publishes (on claude.ai, claude.com and chatgpt.com) to check that the app is theirs. We send them nothing of yours; what you ask the app, and the answers Semlith gives it, are governed by their own privacy policies.
- Brevo: sends Semlith Cloud's mail.
- Zoho Mail: holds the semlith.com mailboxes you write to.
The services you sign in with or connect (GitHub, GitLab, Atlassian for Confluence and Jira, Google for Drive, Microsoft for OneDrive and SharePoint, and your organisation's own identity provider for single sign-on) send us only what you authorise them to, and their own privacy policies govern what they hold. Apart from them and the Google Cloud and NVIDIA services above, Semlith Cloud connects to nothing else.
We do not sell personal data, and we do not use your content to train any model. These providers may process data outside India; we use them only for the purposes above.
Your rights
Under India's Digital Personal Data Protection Act, 2023, and, where it applies to you, the EU and UK GDPR, you can ask to see the personal data we hold about you, correct it, have it deleted, take a copy with you, or withdraw a consent you gave. Mail support@semlith.com from your account's address and we will answer within 30 days. If you are not satisfied, you may complain to the Data Protection Board of India or to your own country's data protection authority.
If your organisation connected the account your data came from (for example, a document that mentions you), your organisation decides what it indexes; we will still help you with a request.
Children
Semlith is not meant for children. An account needs you to be at least 18, or the age of majority where you live, and we do not knowingly collect a child's personal data. If you believe a child has given us data, write to us and we will delete it.
Security
Stores sit on an encrypted volume and are reached only through a token or session scoped to one organisation. Chunks sent for embedding travel only to an attested confidential GPU server, as described above. Report a vulnerability to security@semlith.com.
Changes
We publish any change on this page with a new date, and mail account holders about a change that matters to them before it takes effect. The terms of service are on the terms page.