Skip to content
Back to home

Privacy

Last updated:

Short version: AiRay runs on your Mac, and your project names, paths, code and commits never leave it. Below is everything the app and this website collect, and why.

In short

  • Scanning happens on your Mac. Project names, paths, code, commit messages and prompts never leave it.
  • The app sends anonymous usage statistics, numbers only, and only if you turn them on (off by default). There is no account.
  • It contacts our server for the signed safety switch, update checks and, with Pro, the license check. The license check carries only a license token and a hashed device ID, nothing about your projects.
  • Stripe processes payments. Card numbers and other payment details never reach us.
  • This website counts visits, downloads and link tags (partly with PostHog, which keeps only an approximate country, never the IP). If you arrive through a link, only its link tag is kept in one cookie for 30 days. The payment server records payment, activation and refund events without names or emails, along with the link tag that brought you.

What the app reads, and where it stays

To build its picture, the app reads folder names and sizes, git data (branches, commits, stashes, remotes, status), project manifests, and the session files your AI tools keep. From session files it reads only what it needs: the working folder, the times and the title. It never reads token, cost or usage fields.

Everything it learns stays on your Mac: in the app's folder under ~/Library/Application Support, and in the archives you create (by default in ~/AiRay Archive, readable only by you).

Scanning doesn't write to your projects or to other apps' files.

What goes over the network

  • Usage statistics (only if you turn them on): switch on "Send anonymous usage statistics" on the first-run screen or in Settings > General, and the app sends only the numbers listed under Usage statistics below to PostHog. It is off by default and stops the moment you turn it off. There is no account and no sign-in.
  • Safety switch: at launch and before each plan, the app downloads a signed file from airay.jocoding.io/api/killswitch to see whether any action is paused. The request carries nothing about your projects, and we only count how many requests arrive.
  • Updates: the app checks airay.jocoding.io/downloads/appcast.xml for a new version (turn automatic checks off in Settings > General), and downloads it from our server when you choose to install it. The request carries nothing about your projects.
  • License check (Pro only): once Pro is on, the app sends only its license token and a hashed device ID to our license server when it starts, about once an hour, and when you switch back to it (at most every 5 minutes). The device ID is a SHA-256 hash, never your Mac's raw hardware ID. Only when Pro first turns on does it send a one-time payment number or your license code instead of a token, plus the app version and the Mac model name (for the device list, like MacBook Pro). If you only use Free, there is no such request.
  • Buying Pro: Buy Pro on the upgrade screen opens airay.jocoding.io/api/buy in your default browser, which forwards to Stripe checkout. The address carries only a one-time payment number, the screen you came from, the language and the app version, plus the statistics install ID if you turned on anonymous statistics.
  • That is every request the app sends to our servers and to PostHog. Like any web request, the server sees your IP address and app version.
  • Remote verification: before a project is removed, the app asks your git host (for example github.com) which commits it has, the same as git ls-remote, using your own git setup. That request goes from your Mac straight to your git host. We never see it.
  • Links you click, like opening a remote in your browser, go straight to that site.

This website

To learn which video or link brought people here, each page view records one row: the page, its language, the link tag (like ?ref=ainews-20261004), your country (estimated from your IP address; the IP itself isn't stored) and whether it was the first page opened in that tab. No IP address, browser details or cookie is stored. The rows are kept in our database (Supabase) and used only to count visits.

Download buttons go through airay.jocoding.io/api/download to the DMG. That records one row with only the link tag and your country (estimated from your IP address; the IP itself isn't stored), to count downloads.

Visits and download clicks are also counted with PostHog (no cookies; an approximate country is taken from the request IP, then the IP is discarded). What that carries is under Usage statistics (PostHog) below.

The link tag and the first-page flag sit in your browser's session storage, which is cleared when you close the tab. If you arrive through a link, only its tag (for example ainews-20261004) is kept in an xr_ref cookie for 30 days. It's used only to count which link a later download from this browser, or a purchase from the app, came from, and holds no name, email or device details. We don't use advertising or cross-site tracking cookies, and this site never asks for your email or name.

Usage statistics (PostHog)

The app: only if you turn on "Send anonymous usage statistics" on the first-run screen or in Settings > General. It is off by default. Turning it off stops sending at once and deletes the unsent statistics and the install ID from your Mac. Every feature works the same either way.

What the app sends: a random install ID created when you turn statistics on, the app version and build, the macOS major version, your language, whether Pro is on, and events such as app opened, scan finished, plan reviewed, cleanup finished, put back, and the Pro screens and Buy button. PostHog works out an approximate country from the request IP and then discards the IP. Counts and sizes are sent only as ranges, like "5-20 GB". If you press Buy Pro with statistics on, the purchase address carries the install ID, so the payment events join the same statistics.

Never sent: project names, paths, file names or contents, code, commits, branches, remote addresses, your Mac's name, hardware IDs or your email.

The website counts visits and download clicks with PostHog. It uses no cookies and no local storage, so every page load counts as a new anonymous visitor. PostHog works out an approximate country from the request IP and then discards the IP. It sends the page address, language, link tag, the site you came from, browser and device type, and which download button you pressed. When a download starts, our server also sends the link tag and country, nothing else.

The payment server records checkout opened, purchase completed, Pro activated and freed, the 2-Mac limit reached, and refunds and disputes, without names, emails or card details. The events carry the screen you came from, language, currency, amount, price window, payment method type, country, app version, link tag, and the license ID or one-time payment number (or the install ID if statistics are on). Never the license code, payment session ID or device ID. These are sent from our server, so no visitor IP is included.

Transfer outside Korea: PostHog, Inc. (USA) processes this data and stores it in the United States. What is transferred is listed above, for usage statistics and for counting visits, downloads and the payment flow. The app sends batches about once a minute while statistics are on, the website sends when you open a page or press a button, and the payment server sends when a payment event happens, all over the network (HTTPS). It is kept for 1 year. If you don't want the app's statistics, leave them off.

Payments (Stripe)

You pay in Stripe Checkout. While we sell through Stripe Managed Payments, Link (Stripe) is the merchant of record and handles payment, tax, receipts and refunds. Otherwise JoCoding, Inc. is the seller and Stripe processes the payment.

  • Collected at payment: your email address (for the receipt), your payment method (card numbers and the like are handled by Stripe and never reach us) and your country (for tax).
  • What we receive from Stripe and store: the payment ID, amount, currency, tax, country, payment method type and a hash of your email. We don't store the email address itself.
  • RevenueCat: used only as a revenue ledger. We send the license ID and the Stripe payment ID, and RevenueCat reads the amount and status from Stripe. The app never talks to RevenueCat.

License records

License and activation records are stored in our database (Supabase, Seoul region): the license ID, a hash of the license code and its last 4 characters, each Mac's hashed device ID, the Mac model name, the app version, and when it was first activated and last checked. They are used for the 2-Mac limit, moving to another Mac (from a new Mac, once per 30 days), freeing a Mac, refunds and disputes.

Event records such as issue, activation and refund are kept for 5 years, for disputes and legal proof.

Transfers outside Korea

When you buy Pro, personal information is transferred abroad as listed below. It is sent over the network when you pay and when the app checks your license.

If you don't want this, don't buy Pro: every free feature keeps working. Pro can't be provided without payment and the license check.

  • Stripe, Inc. (USA, including Link): payment processing, tax, receipts, refunds and fraud prevention. Email, payment method, country and amount. Kept as Stripe's privacy policy and the law require.
  • RevenueCat, Inc. (USA): revenue ledger. License ID, Stripe payment ID, amount and currency. Kept while we use the service.
  • JoCoding, Inc. (USA): sales and support. The items under Payments and License records. Kept for the periods Korea's e-commerce law sets (contract, withdrawal and payment records: 5 years).
  • PostHog, Inc. (USA): usage statistics and payment flow counts. The items listed under Usage statistics (PostHog), with no names, emails or card details. Kept for 1 year.
  • Supabase, Inc. (US company, data stored in the Seoul region): stores license, activation, visit and download records. Kept while we use the service.

Keeping and deleting data

  • Website visits and downloads: anonymous, never linked to a name, email or IP address.
  • Usage statistics (PostHog): kept for 1 year, then deleted. Turning the app's statistics off also deletes the install ID and any unsent statistics on your Mac at once.
  • Payment and license records: kept for 5 years as Korea's e-commerce law requires for contract, withdrawal and payment records, then deleted.
  • To delete anything we hold about you, email bill@jocoding.net. We'll delete everything the law doesn't require us to keep and confirm when it's done.
  • On your Mac: quit the app, delete it, and remove its folder in ~/Library/Application Support. Your archives are yours: delete them in Finder when you no longer need them.

Changes

If this policy changes, we'll update this page and the date at the top.

Contact

JoCoding, Inc. | bill@jocoding.net