Open source · local-first · Apache 2.0

A digital twin that learns what you'd want — and does it.

SkyTwin reads your inbox and calendar, builds a structured model of your preferences, and acts on your behalf. It splits what needs you from what's just awareness, explains every decision, and never does anything risky without asking. Local-first by default — cloud AI is opt-in.

View beta releases See the 5-minute demo View source Published installers predate the account-free sample now in source.
SkyTwin briefing — a daily digest that separates to-dos that need you from topics to catch up on, each with citations.

It acts. It doesn't chat.

SkyTwin isn't a chatbot waiting for a prompt. It watches your connected accounts and acts when there's something worth doing — within limits you set, with a record you can audit.

Briefing

Act vs. catch-up, cited

The Inbox-Intelligence digest splits the few things that need a decision from the topics you just want awareness of — grouped by matter, de-duplicated across signals, each line citing the email/event it came from.

Decisions

Every action is explained

Each automated decision produces a record: what happened, what evidence was used, which of your preferences applied, why this over the alternatives, and how to correct it.

Safety

Trust you grant, not assume

New twins start in observe-only mode and earn autonomy through your feedback. Spend limits are hard caps. Untrusted-origin content can never auto-run destructive work. Settings can pause auto-execution and route otherwise allowed actions to you for approval.

Local-first

Local by default

CockroachDB and an optional local LLM are embedded in the desktop app, and your data stays in a database on your own machine. We don't run a server your data flows through. Cloud AI is opt-in — and when you choose it, the decision pipeline redacts email addresses from its prompts first. Turn on full-disk encryption (FileVault / BitLocker / LUKS); see the privacy policy for exactly what is and isn't encrypted at rest today.

See it before you connect anything

Current source includes a guarded account-free sample for packaged desktop builds, so a stranger can inspect fictional decisions and explanations without touching a private inbox. Product data remains read-only; approve, reject, correct, and learn interactions run only in a disposable session-local simulation with no external effects. Published installers predate this path. See the demo boundaries and storyboard →

Cold-start onboarding with a 'try a sample profile' path.
Cold start — current source can open a read-only sample session in seconds.
Sample approvals queue with fixed fictional proposals.
Approvals — inspect the proposal and why, then simulate a response without creating an external effect.
Connected-product settings for autonomy level, spend limits, accounts, pause, and deletion.
Settings — a connected-product surface, outside the packaged sample's read-only authority.
The briefing digest with to-dos and topics.
Briefing — what needs you, and what's just FYI.

Google account access — what we use and why

SkyTwin requests the minimum Google API scopes needed to be useful as a personal assistant. Each scope ties to a specific feature. The OAuth flow lands on http://127.0.0.1 — your token is delivered straight to the desktop process and stored in your local database. It never traverses any server we control. The bundled SkyTwin OAuth client requests identity and Calendar only. The Gmail scopes below require you to bring your own Google OAuth client; see Connect Gmail.

ScopeWhat it enables
gmail.readonly
bring-your-own client
Read inbox to classify incoming mail, learn which threads you act on vs. ignore, and surface the few that need your attention. Without this, SkyTwin can't observe email at all.
gmail.modify
bring-your-own client
Apply labels, archive newsletters you've taught SkyTwin to archive, and send Gmail replies or new messages after approval or under autonomy rules you explicitly enable. SkyTwin-sent emails include a default-on repo footer that can be turned off in Settings. SkyTwin does not permanently delete mail.
calendar.readonly
bundled client
Read your calendar to spot conflicts, find time, and learn your scheduling preferences.
calendar.events
bundled client
Create, modify, and decline calendar invites with your approval (or auto-handle events matching patterns you've taught SkyTwin).
openid, email, profile
bundled client
Confirm your Google identity so the right account maps to the right twin profile in your local database.
User.Read, Mail.Read, Calendars.Read, offline_access
Microsoft Graph · bring-your-own client
Read-only Outlook mail and calendar, plus the signed-in account's address. SkyTwin requests no Outlook write scopes, so it cannot send Outlook mail or change Outlook events.

Full detail in the privacy policy. Bringing your own OAuth credentials takes about five minutes — see Connect Gmail.

Open source & transparent

Apache 2.0. Every line of the agent that reads your mail, the OAuth flow, and the policy engine that decides what auto-runs vs. asks first is on GitHub. The CHANGELOG records every behavior change; the architecture docs explain how decisions get made.

Install

Published desktop installers (.dmg / .exe / .AppImage / .deb / .rpm) are available on the releases page, but those artifacts currently predate the guarded packaged sample path described above. Check each release's notes for its exact contents. The app checks for updates in the background and offers a one-click restart when one's ready. Or build the current development source on macOS / Linux / WSL:

curl -fsSL https://raw.githubusercontent.com/jayzalowitz/skytwin/main/install.sh | bash

Beta builds aren't code-signed yet, so macOS Gatekeeper / Windows SmartScreen will warn on first launch — right-click → Open (macOS) or More info → Run anyway (Windows). Signing is in progress.

How this stays alive

Free and open source forever for personal use. Future Team and Hosted tiers are planned for organizations that need shared policies, audit logs, or managed infrastructure — personal features will never be paywalled. No prices today: overpromising on a backlog we haven't shipped is the easiest trust to lose. Want one of the upcoming tiers? Open an issue describing what your org needs and help shape what ships.