Privacy
Last updated 17 October 2026
Charya is a Mac app that learns what you open for each class or routine and gets your Mac ready for it. What it learns is kept on your Mac. You sign in with Google so Charya knows who you are and which plan you're on. Unless you turn it off, your Mac also shares what makes routines work, such as which pages a routine opens and whether you kept it, with no names, titles, files or personal pages, so Charya can set classes up for everyone, and how you use the app, such as which screens you reach and what goes wrong, so we can make it easier. The one thing that sends anything to an AI service is talking to Puff, and it's off unless you turn it on.
What Charya reads, on your Mac
- Which apps, documents and web pages you bring up, and when. For web pages, the address of the front tab. Never private windows.
- Your calendar events: their times, titles, locations and links. This comes from the Mac's Calendar app or from Google Calendar, whichever you connect.
- If you allow it, your location at the moment you open your Mac or a class starts, and your Wi-Fi network (stored as a scrambled code, not its name).
- System state it can put back: volume, mute, audio output, and where windows are.
- If you hold the talk key (Right ⌘ unless you change it), what you say while you hold it. The microphone is on only then. It's turned into words on your Mac when your Mac can, otherwise by Apple's speech service, as macOS dictation is. The sound isn't kept: the words go in Puff's message field, and nowhere else until you send them.
Charya watches the keyboard only for the talk key; it never records what you type. It never reads your email or your messages. It only looks at your screen if you turn on talking to Puff: one picture each time you send Puff a message.
Where it's kept
In one database on your Mac, readable only by your user account. Activity older than 90 days is deleted automatically, and calendar events a year after they end. Deleting Charya's folder in Application Support deletes everything.
About you
So Puff and the agents you let use Charya get what you mean and write like you, Charya keeps a short picture of you on your Mac, which you can see in its main window under About you. Most of it is worked out from what Charya already has, and kept up to date: your name and email from your account, your school from a school email address, your classes from your calendar, your time zone, the deadlines and tests in your calendar for the next two weeks, your reminders due in that time if you've let Charya into Reminders, where your time went in the last week and the hours you're usually at your Mac, your Mac's model and macOS version, the languages it's set to, the apps you've added, the files you're working on, as Spotlight notices you make, change or open them, and the code you changed lately (each file's name, kind, where it is and when, never what's in it, and nothing in a hidden folder, your Library, your Charya notes or with a name like "Taxes" or "Bank statement"), and how you type to Puff, such as whether you use capitals, full stops or short forms like "u", counted without keeping what you typed. It also keeps what you ask Puff to remember about you, and what you write there yourself. It never keeps a password, a code or a long number such as a card or phone number, and never anything from your screen, your messages or your email.
If you paste your course site's calendar link (from Brightspace, Canvas, Moodle or Blackboard) under About you, Charya reads your assignments, quizzes and exams from it every few hours, straight from the course site, as a calendar app would. The link is kept in your Mac's Keychain and never sent to Charya. You can disconnect it there at any time.
It's kept in Charya's database on your Mac and never sent to Charya. It goes with your messages to Puff if you turn talking to Puff on, as described below, and to an agent such as Claude Code or Codex if you let agents use Charya. You can change or forget any of it, forget all of it, or turn off "Keep learning about me", which stops Charya learning it and telling anyone.
Your Charya account
You sign in with Google. Charya asks Google only for your name, email address and a Google ID, not your calendar or anything else. Charya's server keeps:
- your Google ID, email address and name;
- your plan, when it ends, and your Stripe customer number if you pay;
- when your account was made and last used, and which versions of Charya and macOS you run;
- how setting up went on a new Mac: when you reached each step, whether you picked a calendar or a class, how many classes you showed Charya, whether you chose "set it up by itself", and a week later whether that routine was set up at its next class and kept. Never what it opens, its name or a time of day.
Your account holds nothing Charya learns about your routine. Signing out in Settings stops Charya until you sign in again; what it learned stays on your Mac.
What Charya shares to make routines better
Once a day, unless you turn off "Help routines get better for everyone" in Charya's Settings, your Mac sends Charya's server:
- How each setup went. Each time Charya asked about a routine or set one up: what it offered or opened, whether you said yes, said no or didn't answer, whether you kept it, undid it, skipped it, paused it or packed up early, and the weekday and the hour. If your classes come from the Mac's Calendar app, also how many minutes into a class it was; with Google Calendar, never.
- Your routines as they are now. What each opens, what you added or took out, which apps it hides, whether it mutes, and what kinds of moments start it (a time, a Wi-Fi network), never which ones.
- Skills done on at least two days. The app and cut-back page where you do them, the kinds and names of their controls, menu choices, counts of times and days done, runs and times put back, and whether Puff or watching learned them. Typing is only “your name”, “your email” or “ask each time”, never the text. A Skill is held back if a control or option contains an @, four digits in a row, your name or email, two or three capitalised words that could be a person's name, or more than 40 characters. Its name and your own words are never sent.
Apps are sent by their name in the system, such as com.apple.Notes. Web pages are cut back to the part of their address that's the same for every student, such as a course site and its course number: anything after that which could be one person's, such as a name, a document, a profile or a submission, is left off, and a chat, mail or profile site is sent as just its site. Sign-in pages, searches, pages on your own Mac or network, and personal sites such as yourname.notion.site are never sent. Charya never shares your account name or email, a calendar event's title, a file, a note, where you are, your Wi-Fi network or what you called a routine, and nothing from Google Calendar.
It's kept under a random code made for your Mac, not your account, so it isn't linked to your name or email. Your Mac also keeps a secret for that code, so only it can change or delete what was sent under it. "Delete what you've shared" in Settings removes everything sent under that code. Charya tells you once, before your Mac shares anything, and only what happens after that is ever sent.
Shared Skills are kept under your Mac's random code too, and “Delete what you've shared” deletes them. Only sequences shared by at least five installs are returned to other Macs, with counts, never install codes. While sharing is on, Charya asks for Skills at your routines' pages and your own Skills' places once a day, and at a course or school page you visit at most once a week. Replies stay on your Mac for seven days. They help Puff when you ask; shared Skills are never offered or run unasked.
Learning how you do things
“Learns how you do things” is on by default, only while Clicking and typing and Learning about you are on. Through Accessibility, Charya reads the kind and name of a control you click and notices fields you change and leave. A field's text is compared with your account's name and email in memory, then let go; visits keep only the kind of text, never its value. It does not record keys or pictures of the screen. Private browser windows, excluded apps and sites, unnamed controls, password and other private fields, and payment windows are not watched. Watching pauses while Charya acts for you.
Visits stay on your Mac for 21 days. Beginnings repeated on three days become Skills, which stay until you forget them. Turning watching off deletes the visits; turning it back on asks first. You can see and forget Skills in Home. Unless you turn off usage sharing, Charya also sends counts of watched moves, visits, learned steps and days, never their labels or places.
How you use Charya
Unless you turn off "Share how you use Charya" in Charya's Settings, the app tells PostHog, the service we use to understand how Charya is used, what happens in it as it happens, so we can see where people get stuck and what they like:
- Where you go: each setup screen you reach and whether you finished or closed it, opening the menu, Puff's chat, Settings, your routines and the routine editor.
- What you use: signing in, choosing a calendar, showing Charya a class, saving, changing or deleting a routine, routines being set up, undone, packed up or locked in, your answers to Charya's questions, and talking to Puff.
- What goes wrong: a sign-in that didn't finish, a permission that was turned down, Codex being signed out or not answering, something a routine couldn't open.
- How your Charya is set up, once a day: which permissions are on, which features you've turned on, how many routines you have, and how many days since you installed it.
Each comes with the app and macOS versions, and with counts and kinds rather than contents: "3 apps opened", "a class routine", "a message of 2 to 5 words". It never includes what you type or say to Puff, a routine's name, an app, file or page, a calendar event, your name or your email, and nothing from Google Calendar. Charya doesn't send where you are, but PostHog sees your IP address when the app reaches it, keeps it, and works out a rough location from it: your city, region and country. It's kept under a random code made for your Mac, not your account or the code used for sharing routines. PostHog keeps it for us in the US and doesn't use it for anything else. Turning it off stops it at once and throws away anything not sent yet.
Google Calendar
If you choose "I use Google Calendar", you sign in to Google in your own browser and allow Charya to see your calendars. Charya asks for read-only access (the calendar.readonly permission). With it, Charya reads your events' times, titles, locations, links and attachments, and whether you declined them. That's so it can tell when a class starts and what to open for it.
- Your Mac talks to Google directly. Calendar retrieval and routine learning happen on your Mac; your calendar is never uploaded to Charya's server. If you turn on talking to Puff, the calendar context sent to OpenAI is described below.
- Charya's Google access never changes, creates or deletes events, and Charya never shares, sells or uses your calendar for ads.
- The sign-in token is kept in your Mac's Keychain. "Disconnect" in Charya deletes it and asks Google to revoke it. You can also remove Charya's access at myaccount.google.com/permissions.
How Google data is protected
Charya uses HTTPS with TLS encryption for Google sign-in, token exchange, calendar requests and account requests to its server. Calendar sign-in uses PKCE and a random, single-use state value to protect the authorization flow. Its browser callback listens only on your Mac's loopback address.
Google Calendar's refresh token and your Charya account session are stored in macOS Keychain, rather than in the local database or a plain-text settings file. Calendar access tokens are held in memory. Calendar records are stored in Charya's local database: the database folder is restricted to your macOS user account, as are the database and its supporting files. The local database is not separately encrypted by Charya; your Mac's disk protection depends on your macOS settings, such as FileVault.
Disconnecting Google Calendar removes its saved token and requests revocation at Google. Previously imported calendar records remain on your Mac as part of Charya's local history until a year after each event ends, when they're deleted; deleting Charya's folder in Application Support removes them at once. We do not use Google Calendar data to train generalized AI or machine-learning models.
Charya's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Talking to Puff (optional)
Puff is the small cloud Charya keeps on your screen. If you turn on "Talk with ChatGPT", you can click it and ask it things. It answers through Codex, OpenAI's app on your Mac, signed in to your own ChatGPT account. Charya never sees your ChatGPT sign-in.
Each time you send Puff a message, Codex sends this to OpenAI, under your account and OpenAI's terms:
- What you typed, and your last few messages to Puff.
- One picture of the screen Puff is on, if you've allowed Screen Recording. None is taken while a messages, email or password app is in front.
- The apps you have open and the titles of their front windows, except messages, email and password apps.
- The address of the page in your browser's front tab.
- The buttons, fields and menus in the window in front, with their names and what's in them, unless you've turned off "Clicks and types for you". Never what's in a password field or a card number, security code or bank account field, and nothing from a messages, email or password app.
- Your name and email address, from your Charya account, so Puff can type them when you ask.
- If you ask Puff in one of your Charya notes (with @puff), that note, and the files and pictures you've tagged in it.
- Your next few calendar events, your routines' names and what they open, and the names of the apps you have installed.
- What Charya knows about you, under About you, including what's due soon and the names and places of the files you're working on, unless you've turned off "Keep learning about me".
Nothing is sent to Charya. The picture is deleted as soon as it's sent. Codex keeps your conversation with Puff, as it keeps your own: each day's chat is one conversation in Codex's history on your Mac, under "Puff", so Puff remembers what you said earlier that day, even after Charya quits, and starts a new one the next day. A lesson you ask Puff for is kept the same way, under "Lessons", so it can pick up where you left off. You can open or delete them in Codex. Charya itself keeps only what you ask Puff to remember about you, and a few words of what you tell him about your days (such as "MA 265 lecture was confusing"), for two weeks, both under About you. Codex runs with a read-only sandbox and only suggests what to do. Charya checks each suggestion and does it itself, and you can undo it. Turn it off at any time in Charya's Settings.
When you ask Puff to do something in the window in front, such as putting your email in a box or filling in a form, Charya does it itself, through the Mac's Accessibility features: it clicks, types and picks only on the controls Codex names, never in a password field, and asks you before pressing anything that sends, submits, deletes or pays. Charya can put back what it typed.
Some things Puff can't do itself, such as work across several apps. Then it offers to hand the task to your Codex, and shows you the exact task first. Only if you press "Go ahead" does your Codex run, with your own Codex settings: it can see your screen and click and type in your apps until it's done or you press Stop, and what it does can't be undone by Charya. What it sends to OpenAI is up to your Codex and your ChatGPT account, as when you use Codex yourself.
A few times a day, Puff checks in: how a class, a test or a meeting went once it's over, how you're feeling, how your day was, and what's new on your course site. Your answer goes to Codex like any message to Puff, with what he asked. A few words of what you tell him about your days are kept on your Mac for two weeks under About you, so he remembers tomorrow; they go with your messages to Puff, but never to agents. Turn it off with "Checks in on you" in Settings.
When you open your Mac, Puff asks if you're ready for what's next in your calendar. If you answer by asking him to move that event (say, "10 more minutes") or take it off your calendar, only that one event is changed, and only if it's yours with no one else invited. Removing always asks first. On the Mac's Calendar app, Charya changes it on your Mac. On Google Calendar, your Codex changes it with its own Google Calendar plugin, under your ChatGPT account: Codex sends OpenAI the event's title and times and what you asked for. Charya's own Google access stays read-only.
What leaves your Mac
- Update checks. Charya asks this website every few hours whether there's a new version. The request contains the app version and nothing about you. It's counted as described under "This website".
- Your sign-in and check-ins. Signing in, and once a day the app version, macOS version and how setting up went, as described under "Your Charya account".
- What makes routines work, unless you turn it off, as described under "What Charya shares to make routines better".
- How you use Charya, unless you turn it off, sent to PostHog as described under "How you use Charya".
- Google Calendar requests, only if you connect it, sent straight to Google.
- Messages to Puff, only if you turn talking to Puff on, sent by Codex to OpenAI under your own ChatGPT account, as described above.
- Scores, only if you send them. Charya can make a summary of how well it predicted your routines, with no titles, names, addresses or places, and shows it to you first. It's only sent if you email it yourself.
Charya's other AI features run on your Mac with Apple's on-device model, and send nothing to an AI service.
This website
getcharya.com counts its visits with Vercel Web Analytics: which pages are seen, the referring site, and the country, browser and device type. Vercel Speed Insights measures how quickly its pages load. It also counts them with PostHog, the service Charya uses: which pages are seen, what's clicked on them (like the Download button), the referring site, the browser and device type, and your IP address with a rough location worked out from it. Neither sets cookies or stores anything in your browser. PostHog tells one visit from another with a code it makes from your IP address and browser that changes every day, so it can't tell who you are or follow you from day to day or to other sites.
Each download of Charya, each update check and each update is also counted, so we know roughly how many people use it. For each one we keep the time, the file, the app version, the country, where it was clicked (another site's name only, or the page on getcharya.com with just the campaign tag of the link you came by, nothing else from its address), the browser's or app's name and version, and a scrambled code made from your IP address with a secret key. We never keep the IP address itself. The code lets us tell repeat visits from new ones, not who you are; people sharing a network, such as a campus, share one.
Contact
Questions or requests: niravsurabhi@gmail.com.