The short version
There is no account with this project, and no copy of your data held by it. Chats, characters, prompts, settings, backups and API keys stay on machines you control, and in cloud storage of your own if you connect it.
The software sends the project one thing of its own accord: a small, allowlisted usage summary, described below, which contains nothing you wrote and nothing that identifies you. If you connect Google Drive, your Google sign-in tokens also pass through the project's token service on their way to Google, and are not kept.
What stays on your machine
Everything SillyTavern holds: chats, characters, personas, prompts, world info, images, extensions and settings.
Everything the manager holds: backup archives, data profiles, the administrator password hash, session tokens, logs, usage metrics, any Cloudflare or Google refresh token, the Cloudflare or Google account allowed to open the manager, and the browsers subscribed to its notifications.
The data folder is kept outside the application folder, so replacing the application never touches it. Nothing in it is transmitted to the project.
Moving a SillyTavern from Termux into the Android app reads its folder through Android's own file picker, only after you allow it, and copies it on the phone. Nothing of it leaves the device.
What is sent to the project
Once per installation: a random installation identifier, generated on your machine and connected to nothing else.
With each batch: the platform (Windows, Linux, Termux, the Android app, Docker, a hosted workspace or unknown) and the application version.
For each model request SillyTavern makes: the timestamp, provider name, completion API format, model name, endpoint hostname, whether streaming was used, the maximum token setting, input, output and total token counts, cache read and write tokens, reasoning tokens, the HTTP status, and the duration in milliseconds.
Once for each finished day: how long the manager ran, how long SillyTavern ran under it, how long the console was open and in view, how many times the manager started, whether cloud backups were off, set up with R2 keys, set up through a Cloudflare sign-in, or sent to Google Drive, and three sizes in bytes: the SillyTavern data in the profile in use, the backups kept on the machine, and what the manager has stored in R2 or Google Drive. No bucket name, account or file is included.
A few times a day the manager also asks the project for announcements to show in its notifications. That request carries the platform and the application version and nothing else: no installation identifier and nothing about you.
That is the complete list. The allowlist is in the source code, under packages/instrumentation and packages/telemetry, and you can read it.
What is never sent
Prompts, messages, chats, character cards, personas, world info, model responses, request bodies and response bodies.
API keys, authorization headers, cookies, session tokens and passwords.
File names, file paths, folder contents, backup archives and anything inside them.
IP addresses, URL query strings, the host names of your own machines, user names, e-mail addresses, and anything else that identifies you.
How it is sent, and how to stop it
Events are appended to a local outbox file and sent asynchronously, signed with a key belonging to that installation. A receiver that is down never blocks SillyTavern; the outbox is trimmed and its entries expire after 90 days.
To stop the sending completely, set STM_TELEMETRY_ENDPOINT to an empty value in your .env file or environment and restart the manager. Nothing leaves the machine after that.
It is free software: you can also read the collection code, change it, and run your own build.
Cloudflare sign-in and R2 backups
If you connect Cloudflare, the sign-in is a standard OAuth authorization with PKCE against Cloudflare's own servers. The project never sees your Cloudflare password.
Only the refresh token is stored, in a file on your machine readable by your user alone. Access tokens and Worker keys are short-lived and live in memory.
Backups are uploaded from your machine to a bucket in your own Cloudflare account. They pass through no server of this project. What Cloudflare stores and logs is covered by Cloudflare's own privacy policy.
Disconnecting removes this installation's Worker key and revokes the sign-in. You can also revoke it yourself in your Cloudflare profile, under Manage OAuth authorizations. The bucket and its contents remain yours.
If you open the manager by signing in with Cloudflare, the account's identifier and name are recorded on your machine, so that only that account can open it again. They are sent nowhere.
Google Drive backups
If you connect Google Drive, you sign in on Google's own page, with a standard OAuth authorization and PKCE. The manager asks for one permission only: the app's own hidden folder in your Drive (drive.appdata). With it, the manager cannot see, open or change any other file in your Drive. The project never sees your Google password.
From your Google account the manager reads your e-mail address, display name, Drive user identifier and storage quota. It uses them to show which account is connected and how much room is left, and to let only that account open the manager. The e-mail address and identifier are kept on your machine and sent nowhere else.
Google asks for the app's client secret whenever a sign-in is completed or renewed, and a secret cannot be shipped inside public software. So those two requests go through the project's token service at stm.locmaymo.top, which adds the secret, passes the request to Google and returns Google's answer. Your authorization code or refresh token, and the access token Google sends back, pass through it on the way. It keeps none of them and logs none of them. Your IP address is used there only to limit how often the service can be called, and is not stored by the project.
Backups travel from your machine straight to Google; no file passes through the token service or any other server of the project. The refresh token is stored in a file on your machine readable by your user alone. What Google stores and logs is covered by Google's own privacy policy.
Disconnecting revokes the sign-in at Google, unless another machine is still backing up to the same Drive, because Google withdraws a grant from every machine at once. You can choose to delete the backups from Drive as you disconnect. You can also remove the manager's access yourself in your Google Account, under your connections to third-party apps and services, and delete its hidden data in Drive's settings, under Manage apps.
The manager's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Google user data is used only to store and bring back your backups and to show and check the connected account. It is not transferred to anyone, not used for advertising, and not read by any person.
Notifications on your devices
When you allow notifications in a browser, that browser gives the manager an address on its maker's push service. The manager keeps that address on your machine and sends notifications to it from there; the project is not involved.
A notification about SillyTavern names the character who replied and, unless you switch the preview off on that device, shows about the first 120 characters of the reply. Every notification is encrypted on your machine so that only your browser can read it; the push service delivers it without being able to read what it says.
Subscriptions are dropped when the PIN changes or every device is signed out. The Android app's chat bubble and its notifications stay on the phone.
The sign-in relay at stm.locmaymo.top
Cloudflare and Google only return a browser to an address registered on the OAuth client, matched exactly, and a manager can be open on any address. So each registered address is a static page on this site, which forwards the browser back to the manager that started the sign-in.
Those pages store nothing, set no cookie and run no analytics. The authorization code they forward is useless without the PKCE verifier, which never leaves your manager.
They forward on their own only to addresses that can only be your own machine or network: loopback, private ranges, the shared range some private networks use, and .local or .localhost names. Anywhere else, tunnels and hosting platforms included, they show the destination and wait for a click, so they cannot be used as a silent redirect to another site.
The website
The pages at stm.locmaymo.top are static files served from Cloudflare's network; the only code the project runs there is the Google token service described above. There is no account, no login, no tracking pixel, no advertising and no third-party analytics script.
Cloudflare, as the host, processes request metadata such as IP address and user agent in order to serve and protect the site, under its own privacy policy.
Your language and theme choice, if you change them, are remembered in your own browser and sent nowhere. Pages may link to GitHub and npm; following a link puts you on their sites, under their policies.
Your choices and your rights
Because the project holds no personal data about you, there is usually nothing to access, correct, export or erase. If you believe an installation identifier or a telemetry record relates to you, write to the issue tracker and it will be deleted.
You can switch telemetry off with the setting above, disconnect Cloudflare or Google Drive at any time, turn notifications off in each browser, and delete the data folder to remove everything the software ever wrote.
Changes to this notice
This notice changes when what the software sends or reads changes. The version in force always ships with the software and is published at stm.locmaymo.top/privacy, carrying the date it took effect.