Public page
Privacy Policy
Effective September 17, 2026
This policy explains plainly how Springroll handles information. Springroll is local-first software, not offline software: your recipes, run history, and credentials stay on your Mac, while recipe prompts and tool queries leave your machine only when you ask an AI model or a connected service to execute them.
We believe in straight talk: AI agents cannot do useful work without sending instructions to model providers and querying the tools you connect. This page details exactly what stays local on your Mac, what leaves during a run, and how you stay in complete control of your data.
Who provides Springroll
Springroll is developed as an open source project. Source code is available under the MIT license on GitHub.
This website
This public website is static. It does not create user accounts, collect form submissions, or set tracking cookies. We use privacy-friendly, cookie-free analytics (Umami) to count aggregate visits and link clicks without profiling visitors or collecting personal data. Standard static hosting infrastructure may log routine HTTP request headers (such as IP address and browser type) for security and maintenance.
What the Mac app keeps locally
By default, the local app stores:
-
the recipe catalog, schedules, chats, run history, usage ledger, and
artifact metadata in a local SQLite database (source-alpha default:
.local/springroll.sqlite); - generated artifacts under a local artifacts directory;
- API keys, OAuth access tokens, and OAuth refresh tokens in the macOS Keychain, referenced from SQLite by opaque identifiers rather than secret values.
The local HTTP interface binds to 127.0.0.1. There is no
Springroll-hosted account, synchronization service, or remote scheduler.
Closing the local process stops future recipe execution.
What can leave the Mac
A run sends its instructions and relevant conversation context to the model provider selected in Settings. When a tool is used, the information needed for that operation is sent to that service. Relevant tool output is normally returned to the model so it can continue and write the report.
That means the following may leave the Mac:
- recipe instructions, chat messages, and conversation context;
- search terms, URLs, email or calendar queries, document identifiers, and other tool arguments;
- content returned by a connector when it is needed for reasoning or a report;
- files or images you explicitly supply to a model or integration;
- provider telemetry needed to report model usage and cost.
Those processors can include the selected model provider, a connected account’s vendor, an MCP operator, and any subprocess behind a reviewed local MCP package. Their terms, retention, workspace rules, and administrator controls still apply. A model can only call tools made available to that recipe or chat, but a read tool can still expose sensitive content to that model.
Google data
Springroll connects Gmail, Google Calendar, and Google Drive using Google OAuth. Authorization returns to a local listener on your Mac; this website does not receive Google authorization codes or Workspace content. Google verification is pending; these disclosures do not indicate Google approval.
Springroll v0.1.5 and later support reading Gmail messages and threads, sending messages and managing drafts; reading calendars and managing events; and searching, reading, downloading, or exporting existing Drive files. Drive access is read-only. The Google consent screen identifies the scopes requested, and the connected account's granted permissions determine access.
Limited Use commitment
Springroll's use of raw or derived user data received from Google Workspace APIs will adhere to the Google API Services User Data Policy and the Google Workspace API User Data and Developer Policy, including the Limited Use requirements. Springroll does not use or transfer this data to create, train, or improve foundational or generalized AI or machine-learning models.
Springroll uses Google data to provide the user-facing features you request. It does not sell Google user data, use it for advertising, or operate a Springroll-hosted store of your Gmail, Calendar, or Drive contents.
AI processing and Zero Data Retention
When OpenRouter is selected in Springroll v0.1.5 and later, relevant Google content and derived conversation or recipe context are sent to model inference endpoints eligible for Zero Data Retention (ZDR). Processing occurs remotely, not solely on your Mac. Springroll enforces ZDR routing and disallows provider data collection on each protected inference request. If an eligible route cannot serve the selected model, the request fails rather than retrying without those protections.
Direct OpenAI, Anthropic, xAI, Groq and Gemini API connections can also process Google data. Use these connections only under API terms that exclude model training, with training and data-sharing opt-ins disabled. Gemini use requires a Cloud project with active billing. Direct API routes are not OpenRouter ZDR routes; standard provider retention may apply.
Springroll does not inspect direct-provider billing or training settings and does not require a manual confirmation checkbox. The app's acceptance of an API key is not verification of those settings. Consumer Claude and ChatGPT subscription connections are not enabled for Google-data processing. Google has not approved these controls as of this update.
OpenRouter maintains endpoint eligibility; the available models and downstream providers can change. Its ZDR policy permits implicit in-memory prompt caching. OpenRouter's inference ZDR controls do not cover its optional plugins, so Springroll excludes those plugins from protected model requests. The model selector's ZDR toggle filters the list; it does not turn Google-data protections off.
You connect your own OpenRouter account. Keep prompt logging and data sharing disabled for Google-data use. Springroll does not inspect or change your account settings or verify separate bring-your-own-key provider agreements. Those settings and agreements require separate review; a model appearing in the ZDR list is not proof of your account configuration.
These controls are included in Springroll v0.1.5 and later. Earlier releases do not provide this enforced Google-data routing. Do not use those releases to send Google Workspace data to AI services. Google OAuth verification remains pending.
Local records and other tools
Google-derived chats, reports, recipe instructions, and activity history may remain in local storage until deleted. Springroll v0.1.5 and later track protected conversations and recipes so later model calls retain the same routing requirement. It does not retrospectively classify all content created in older releases. Connecting Google alone does not restrict unrelated non-Google work.
Recipes and chats may also use other connected tools to perform requested actions. Information needed for those actions may be sent to those services under the available tool permissions and approvals. AI inference ZDR is not a retention guarantee for your local records, Google, or those other services. Disconnecting, revoking access, and deleting local records are separate actions, described below.
Policy references: Google API Services User Data Policy, Google Workspace API User Data and Developer Policy, and OpenRouter Privacy Policy.
Other connected services
The app can also connect Microsoft 365 accounts, Slack, Neon, web reading or optional search providers, remote or reviewed local MCP servers, and OpenAPI-backed HTTP APIs. Each connection is account-specific. The same leaving-the-Mac rules apply: tool arguments and needed results may go to that service and back to the selected model.
Credentials
Springroll is designed to resolve credentials in the host immediately before an outbound call. Secret values should not appear in model messages, tool results, SQLite, run events, citations, artifacts, or ordinary application logs. OAuth refresh happens locally; updated tokens return to the Keychain. Do not paste secrets into chat, recipe instructions, or screenshots.
Retention
Springroll keeps local recipe, chat, run, and artifact records until you delete them or remove the local data files. It does not currently publish a separate automatic retention period. Model providers and connected services keep whatever their own policies require. Springroll cannot delete copies those services already received.
Sharing
Springroll does not operate a product analytics service and does not sell personal information. Information leaves the Mac when you use a model, connector, MCP server, or HTTP API, as described above. If you share a screenshot, log, or repository issue, you choose what others can see.
Disconnect, revoke, and delete
These are different actions:
- Disconnect in Springroll removes the stored credential from this Mac’s Keychain. It is local sign-out. It does not by itself revoke the grant at Google or another provider.
- Revoke at the provider (for example, Google Account third-party access) ends Springroll’s authorization at that provider. Do this separately if you want the grant removed.
- Delete a recipe, run, or chat in the app removes that local record after confirmation. That cannot be undone in the app.
- Delete local Springroll data by quitting the app and
removing its local database, artifacts, and remaining Keychain items.
For source installations, the defaults are
.local/springroll.sqliteand.local/artifacts/in the project directory, plus related Rivet state under.local/. Quit Springroll before removing these files. Disconnect integrations first where possible, then remove leftover Springroll credentials in Keychain Access and revoke access at each provider.
Because Springroll does not host your account, there is no cloud inbox of Google data for the operator to delete on request. Deleting local files and revoking provider access is the complete application-side deletion path.
Children
Springroll is not directed at children and is not intended for use by anyone under 13.
Security posture
This is experimental software. It has not received an independent security audit. It currently assumes a trusted person running it on their own Mac. Local files are protected by the Mac account and disk security, not by application-level encryption. Use least-privilege or test accounts during the alpha if a model provider or integration would be an unacceptable processor of that data.
Changes
If this policy changes, the effective date at the top of the page will change. Review the page before connecting new accounts.
Contact
Questions about this policy can be opened as a GitHub issue on https://github.com/stumptowndoug/springroll. A dedicated support email has not been published.