Privacy policy
Oscar is a personal deployment, not a company. It is run by David Stall, who pays for the servers it runs on and controls the database it writes to. This page describes what Oscar stores, where that data goes, and who can see it — in terms of what this software actually does, rather than what this category of product usually does.
1. What Oscar stores about you
Everything below is stored in a Supabase (PostgreSQL) database controlled by the owner. Every row is tagged with the account it belongs to.
Your account
- Email address and display name. The address is also how sign-in codes reach you.
- A hash of your password. The password itself is never stored.
- The IP address and browser user-agent recorded when you requested an account. These are kept with the request so the owner can tell a real request from an automated one. They are not updated afterwards and are not used to track you.
- Any note you wrote when requesting access, plus the times you requested access, were decided on, and last signed in.
- Digests of your Shortcut key and laptop runner key, and the last four characters of the Shortcut key so the settings page can show you which one is live. The keys themselves cannot be recovered from what is stored.
What you ask Oscar, and what it answers
- Every question and answer, along with the model used, which tools ran, whether the request succeeded, the error if it did not, how long it took, and token counts. Requests that fail authentication are deliberately not logged.
- Longer jobs — the question, the running task list, intermediate state, and the final answer.
- Questions Oscar stopped to ask you, and your answers to them.
What Oscar remembers on purpose
- Facts about you that you tell it, or that it picks up from conversation — name, contact details, preferences, and anything else it judges worth keeping, along with the one previous value when something changes.
- Plans and their steps, task lists, protocols, and schedules you have created.
- Per-account settings, including whether background catching is switched on.
Location
If you use the location features, Oscar stores individual points — latitude, longitude, reported accuracy, altitude, speed, heading, the time zone of the device, which source sent it, and any label you gave it — plus daily roll-ups summarising where you were. This is a location history. It is written directly by the device without a model involved, and it is only as complete as the number of points your phone or browser actually sends.
Devices and connected machines
- Push subscriptions: the endpoint URL your browser's push service issued, the keys needed to encrypt a message to it, and a label derived from the user-agent (for example "iPhone").
- Shell commands, if you connect a laptop runner: the command text, the working directory, why the agent wanted to run it, and the resulting exit code, standard output and standard error.
- MCP servers you add: their address, and which of their tools you have allowed.
2. Information about other people
Oscar keeps a contacts memory. When you mention someone, it can store their name, their relationship to you, email addresses, phone numbers, birthday, employer, role, location, and free-text facts about them — and with background catching switched on, it can do this without being asked each time.
Those people are not users here and have agreed to nothing. You are the one deciding what Oscar learns about them. Only you and the owner's database can reach it, but treat it as a record you are responsible for, and remove anything that does not belong there.
Oscar can also search for public information about a named person or username across public profile sources, and read public web pages. What it finds is returned to you and stored in the conversation log like any other answer.
3. Where your data is sent
Oscar is not a self-contained system. To answer a question it sends data to other services, each with its own privacy policy and its own retention:
- OpenAI — your question, the relevant parts of your conversation history, and whatever memory, plans, location or contact information the request needs are sent to OpenAI's API to produce an answer. This is the broadest disclosure Oscar makes.
- Supabase — hosts the database holding everything in section 1.
- Vercel — hosts the application; its runtime logs may contain diagnostic output.
- An email provider — Gmail, Resend, Postmark or SendGrid, depending on configuration — receives your email address and the contents of sign-in codes and account notifications.
- Google — only if you connect a Google account, and then only for the scopes you granted: Gmail, Calendar, Drive, Docs and Tasks.
- A web search provider — Brave, Tavily or DuckDuckGo — receives search terms when Oscar searches the web, and any website Oscar reads receives a request from the server.
- Open-Meteo for weather, and OpenStreetMap's Nominatim and Overpass services for places, receive coordinates or place names when those tools run.
- Public profile sources — including GitHub, GitLab, Hacker News, Keybase, Mastodon, Bluesky, Lobsters, dev.to, Docker Hub and others — receive the username being looked up.
- Your browser's push service (Apple, Google or Mozilla, depending on the browser) relays notifications to your device. Notification contents are encrypted so the push service cannot read them.
- Any MCP server you add receives whatever its tools are called with. These are servers you choose; Oscar does not vouch for them.
- Your own laptop, if you connect a runner, receives commands to execute.
Oscar does not sell data, does not serve advertising, and has no analytics or tracking scripts on any page.
4. Credentials and connected accounts
Credentials are handled differently from ordinary data. Google refresh tokens and similar secrets are encrypted with AES-256-GCM before being stored, and are decrypted only when a request needs them. Your password is stored as a hash. Your Shortcut and runner keys are stored as digests: each is shown once when issued and cannot be read back afterwards — if you lose one, the fix is to issue a new one, which invalidates the old.
Signing in requires both your password and a code sent to your email address. The Shortcut key is a weaker credential — it sits in plain text inside a Shortcut on your phone — so it can ask questions but cannot read your history.
5. Who can read your data
You can. Everything Oscar has stored for you is reachable from your own signed-in session.
The owner administers accounts but has no interface for reading your content. The account tools show the owner your email address, name, request note, the IP and user-agent from your request, and your account status — enough to approve, decline, suspend or reinstate you. There is deliberately no admin view of anybody's conversations, memory, location or files.
That is a limit on the application, not on the database. The owner controls the Supabase project and can query it directly, as can anyone who obtains the service credentials. Supabase and Vercel staff have whatever access their own policies allow. An account here is a guest account on somebody else's machine, and you should not store anything on it that would be a serious problem for the owner to see.
Other users cannot read your data. Every query is scoped to a single account, and queries that fail to say whose data they want are rejected rather than answered broadly.
6. How long it is kept, and deletion
There is no automatic expiry. Conversations, memory, location points and everything else are kept until somebody deletes them.
You can delete individual items as you go: Oscar can forget a fact about you or about a person on request, and plans, schedules, protocols, MCP servers and push subscriptions can each be removed.
There is no self-service "delete my account" button. To close an account and erase its data, ask the owner at davidstall312@gmail.com. Deleting the account row cascades: conversations, jobs, memory, contacts, locations, plans, schedules, secrets, push subscriptions and command history all go with it. Copies already sent to third parties — OpenAI, an email provider, a search engine — are outside the owner's control and are governed by those services' own retention policies.
Suspending an account is not deletion. A suspended account cannot sign in, but its data remains.
7. Your choices
- Background catching can be switched off in settings, so Oscar only remembers what you explicitly tell it to.
- Location is only stored if you send points; stop sending them and nothing further is recorded.
- Google can be disconnected at any time, and access can be revoked from your Google account directly.
- MCP tools start withheld. A server you add gets nothing until you allow each tool.
- Notifications can be turned off in the browser, which removes the subscription.
- The Shortcut key can be rotated or revoked, which immediately stops any phone still carrying the old one.
8. Security
Traffic is served over HTTPS. Secrets are encrypted at rest, passwords are hashed, and API keys are stored as digests. Signing in requires a second factor by email. Dangerous shell commands are refused, or held for your explicit confirmation, rather than run.
None of that makes it invulnerable. This is software maintained by one person, without a security team, formal audit, or compliance certification. If you find a vulnerability, please report it to davidstall312@gmail.com rather than disclosing it publicly.
9. Changes and contact
If this policy changes materially, the date at the top will change, and for anything that meaningfully affects what is stored or where it is sent the owner will notify approved accounts by email.
Questions, deletion requests, and access requests: davidstall312@gmail.com.