Privacy policy

Last updated: October 19, 2026

The short version

  • Your timelines are files on your Mac. We never see what they say, and they never leave your Mac unless you export or move them.
  • Starting the trial asks for your email address. If you buy, your licence key carries the email you paid with at checkout: prefilled from your trial or licence email in the app, typed by you on the website.
  • The app sends usage data linked to your email. It is on by default. To switch it off, click the licence status at the right end of the app’s bottom bar and clear “Send usage data linked to your email. Never what your timelines say.”
  • Payments run on Stripe’s checkout page. We never see or store your full card number.
  • Visitor statistics on the website use no cookies.
  • To see, correct or delete your personal information, email support@chronarium.app.

This policy covers the Chronarium Mac app and the website chronarium.app. “We”, “us” and “our” mean Polymath Studios LLC, the seller of Chronarium.

Starting the trial

The app’s first screen asks for your email address (required) and one optional question: “What will you mostly use it for?” The choices are: a course I’m taking, teaching, writing or worldbuilding, research, family history, personal interest, or something else.

When you start the trial:

  • The app sends your email, and your answer if you chose one, to our server at chronarium.app.
  • The server sends back a signed trial licence key. The key contains your email, the licence kind (trial), the start date and the end date.
  • The server sends your email, the source (the app), the trial start time, your answer and the trial end date to Loops, our email service. The end date schedules the trial reminder.
  • The server stores your email, the trial start, your answer (the first answer is kept) and the licence kind in our database at Supabase.

If the server cannot be reached, the trial still starts on your Mac. The email you typed stays on the Mac and is sent at the next launch that reaches the server. If you start a trial again with the same email, the same trial continues. No new trial begins.

Usage data

What it contains

The app makes one record per session of use and sends it to our server. A session starts when the app opens, or at the first mouse or keyboard input after 30 minutes with none. A session ends when you quit, or after 30 minutes with no input. Before a trial or licence key exists, nothing is recorded and nothing is sent.

The table below is every item in one session record.

Group Item Example
Session Session ID (random) 3f1c2b4e-9a7d-4c1e-8b2a-6d5e4f3a2b1c
Session Start time (UTC) 2026-10-05 14:02:11
Session End time (UTC) 2026-10-05 14:47:30
Session Active seconds (60 per minute with input) 1260
Session Time-zone offset from UTC, in minutes -240
Session Chronarium version 1.0.0
Session Licence state trial
Your Mac Darwin (macOS kernel) version 25.6.0
Your Mac Processor type arm64
Your Mac Running under Rosetta no
Your Mac Display width, in points 1512
Your Mac Theme (light or dark) dark
Actions in the session (counts) Events added 12
Actions in the session (counts) Periods added 3
Actions in the session (counts) Entry edits 9
Actions in the session (counts) Entries deleted 1
Actions in the session (counts) Lanes added 2
Actions in the session (counts) Blank timelines created 1
Actions in the session (counts) Demo timelines opened or created 1
Actions in the session (counts) Timelines opened 4
Actions in the session (counts) Note edits 5
Actions in the session (counts) Icons set 2
Actions in the session (counts) Undos and redos 6
Actions in the session (counts) Searches 3
Actions in the session (counts) “Go to range” uses 1
Actions in the session (counts) Lane focus uses 2
Actions in the session (counts) Concept maps opened 1
Actions in the session (counts) Exports 1
Actions in the session (counts) Imports 0
Actions in the session (counts) Save errors 0
Actions in the session (counts) Recovery screens shown 0
Actions in the session (counts) App errors (count only, no message) 0
Seconds with input, per view Timeline 720
Seconds with input, per view Floor 240
Seconds with input, per view Isometric 120
Seconds with input, per view Concept map 120
Seconds with input, per view A fifth view this version doesn’t show (always 0) 0
Library totals at session end (all timelines on the Mac, demo included) Timelines 4
Library totals at session end (all timelines on the Mac, demo included) Demo timelines 1
Library totals at session end (all timelines on the Mac, demo included) Lanes 9
Library totals at session end (all timelines on the Mac, demo included) Events 120
Library totals at session end (all timelines on the Mac, demo included) Periods 18
Library totals at session end (all timelines on the Mac, demo included) Entries with a note 31
Library totals at session end (all timelines on the Mac, demo included) Entries with an approximate date 14
Library totals at session end (all timelines on the Mac, demo included) Entries with an icon 22
Library totals at session end (all timelines on the Mac, demo included) Entries in the largest timeline 87

A record never contains titles, notes, text, event dates, file names, or anything typed into a timeline. Library totals are counts only, such as entries with a note, entries with an approximate date and entries with an icon.

Each send carries the licence key (when one exists) and a random install ID made on your Mac the first time the app runs. The server checks the key’s signature, reads the email from it and stores that email on every session row. The key itself is not stored. If your trial started offline and its key has not arrived yet, sessions go out with no email, install ID only. The server adds the time received and the platform, “mac”.

Why we collect it

We use it to learn who uses Chronarium and how: which views and tools people use, how much and how often, how many events and periods they create, and at what times of day. We also look at whether people who try Chronarium go on to buy it. We look at this per person and across everyone.

Where it goes

Records are sent at each session end. Sessions that cannot be sent queue on your Mac (up to 60, none older than 30 days) and are retried at the next launch or the next session end.

They are stored in our database at Supabase, in the United States (US East). The database also keeps one row per email: first seen, last seen, licence kind, trial start, the trial-question answer, the Stripe customer ID for buyers, the latest totals of events, periods, lanes and timelines, and the latest app version.

Switching it off

Usage data is on by default. The app’s first screen discloses it and links to this policy.

To switch it off, click the licence status at the right end of the app’s bottom bar and clear the checkbox labelled “Send usage data linked to your email. Never what your timelines say.”

When you switch it off:

  • Recording and sending stop at once.
  • Queued sessions on your Mac are deleted.
  • A send already in flight is not recalled.

Switching it off does not affect records already stored (email us to delete them), the trial request, the yearly renewal check, checkout, the update check, or our emails. If you switch it back on, a new session starts.

Buying a licence

Payment happens on Stripe’s checkout page, and card or other payment details are typed there. We never see or store your full card number. Which billing details Stripe’s page asks for is Stripe’s choice.

When you click buy in the app, the app sends our server the plan, your email (from your licence or trial), a launch tag (always “direct” from the app) and, for yearly licence holders, the licence key. Buy links on the website carry the plan and the launch tag.

Our server then opens Stripe checkout with your email prefilled, the plan, the launch tag and labels describing the product, plan, price, tax setting and licence email, plus the yearly subscription being replaced when you switch to lifetime.

After payment, Stripe tells our server, and the server reads only: your email, the plan, the amount, the currency, Stripe’s IDs (checkout, customer, subscription), a live-or-test flag and the time. We store a purchase record in our database and add the licence kind and Stripe customer ID to your row. We do not read your name, address, country or card details from Stripe.

The licence key contains your email, the licence kind (yearly or lifetime), the issue date, the end date (yearly only) and one Stripe reference (the subscription for yearly; the customer or checkout for lifetime). It lets the app check the key without an account.

Loops sends the key to you by email and receives the key and the plan for your address. Your contact is tagged “customer”, so no trial reminder is sent. Right after paying, the thank-you page shows the key, read from Stripe. Nothing from it is stored.

Yearly renewal checks

A renewal check runs when a yearly key is within 14 days of its end (at launch, then hourly), when you enter a yearly key that has ended, and repeatedly over about an hour after you open a switch to lifetime. The app sends the key to our server, the server asks Stripe whether the subscription is still active, and the server returns a renewed key to the app. Nothing is stored.

Manage billing

The “Manage billing” button opens Stripe’s billing page. You sign in with a code Stripe emails you. The licence key alone never opens billing.

Update checks

5 seconds after the app opens, and then every 6 hours, the app asks chronarium.app whether a newer version exists. The request carries no email, no install ID, no licence key and no app version. As with any web request, our host sees your IP address and the standard User-Agent line.

A newer version is downloaded from GitHub (github.com/chronarium/mac). GitHub sees your IP address, as any download server does. The update installs when you click “Restart to update” or when you quit.

The website

There is no advertising and no cross-site tracking on chronarium.app. Fonts and images are served from chronarium.app itself.

Visitor statistics

We use Vercel Web Analytics. It counts page views and three events: Download clicks, trial starts and checkout starts.

Each event carries one tag: the launch post you came from, taken from the link’s ?utm_source= or ?ref= value. A short link can also set the tag from its path, chronarium.app/r/ (the phone email’s link is /r/phone-link), and the same rules hold: no cookie, no browser storage, and the page view is logged under that path. The tag “none” means there was no tag, “other” means the tag was not a plain short name, and “app” means the trial or checkout started in the app. Checkout starts also carry the plan. No event carries an email or a name.

For page views, the address is cut back to the page’s path in the browser before sending, so link details such as the thank-you page’s payment reference never reach the statistics. Trial-start and checkout-start events are sent by our server, which passes along your IP address and User-Agent, the same way page views reach Vercel. No email is included.

Our code sets no cookies, and the statistics use no browser storage. The launch tag travels only in links.

Vercel makes its own statement, which we have not verified: it uses no cookies, tells visitors apart by a hash of the request that is discarded after 24 hours, and may record per data point the time, page, referring site, rough location (country, region, city), device type, operating system and browser.

Server logs

Vercel hosts the website and our server, and Vercel logs every request: IP address, page, time and User-Agent. Our server’s own log lines include Stripe IDs.

The waitlist

On launch day only, for about one hour, the home page has a waitlist form. The email you enter goes to Loops, marked as waitlist. We use it for one thing: telling you Chronarium is available.

On a phone, the site shows an “Email me the link” form instead of a download. Your address is passed to Loops, which sends a single email containing the download link (chronarium.app/r/phone-link). It is not added to a list, stored as a contact property or recorded as an event there, so nothing else follows.

Each address gets at most one such email per day. That limit works through a key built from the address plus the day: a repeat on the same day sends nothing, and the form gives the same answer either way. Our site stores nothing from the form and writes no address to any log.

The IP address of the requester stays in memory only, where it caps tries at 30 per 10 minutes. Vercel’s firewall enforces the same limit per IP address.

Emails

Automated emails are sent through Loops, and replies go to support@chronarium.app. We send:

  • The licence key, after a purchase.
  • A trial reminder, one week before the trial ends. It is skipped for buyers and has an unsubscribe link.
  • The occasional important note about Chronarium.
  • For waitlist signups, one “Chronarium is available” email.

Unsubscribing stops the trial reminder, the occasional note and the waitlist email. Unsubscribing does not stop two emails, since Loops delivers transactional emails regardless: the licence key after a purchase and a download link you request. Unsubscribing does not delete the contact. Email us for that.

Support email

Mail to support@chronarium.app is forwarded by ImprovMX, an email forwarding service, to our mailbox at Google (Gmail). Our replies come from that mailbox, not from Loops. We keep the conversation so we can help.

What stays on your Mac

  • The licence file holds the licence key, the install ID, the trial email, the offline-trial start, the latest time the app has seen (a guard against a clock turned back), the times of an open switch to lifetime, and whether usage data is on or off.
  • The usage queue holds sessions waiting to send, as described above.
  • Your timelines never leave the Mac unless you export or move them.

What we never collect

  • What your timelines say.
  • Your files.
  • Passwords. There are no accounts.
  • Full card numbers.
  • Advertising or cross-site tracking data.
  • Crash reports. The app has no crash reporter.

We do not sell or rent personal information, and we do not share it for advertising.

Who receives personal data

  • Stripe handles payments and subscriptions. It receives the buying items above and the card details typed on its page, and it answers our renewal checks and cancellations.
  • Loops sends our automated emails. It receives the trial, purchase, waitlist and phone-link items above.
  • Supabase hosts our database: usage sessions, the one row per email and purchase records.
  • Vercel hosts the website and our server, so every request passes through it. It holds the request logs and the visitor statistics.
  • GitHub serves app downloads and updates.
  • ImprovMX forwards mail sent to support@chronarium.app.
  • Google (Gmail) holds our support mailbox: support emails and our replies.

We also disclose personal data where the law requires it.

How long we keep it

  • Usage sessions and the one-row-per-email record: no deletion date is set. Kept until you ask for deletion.
  • Purchase records: kept as payment records for tax and accounting.
  • Loops contacts: kept until you ask for deletion. Unsubscribing stops the trial reminder, the occasional note and the waitlist email, not the transactional emails Loops sends regardless.
  • Stripe keeps payment records under its own rules and the law.
  • Vercel request logs and visitor statistics follow Vercel’s own periods.
  • Support emails: no deletion date is set.
  • On your Mac, queued sessions older than 30 days are dropped, and our server refuses sessions that started more than 30 days earlier.

Deleting your data and your rights

Email support@chronarium.app to see, correct or delete your personal information. There is no delete button in the app.

On a deletion request, we delete your usage sessions and your row from our database, and we remove the Loops contact and the Stripe customer record by hand. Purchase records are kept because tax and accounting law requires them.

Two things to know:

  • Sessions sent before your trial key reached our server carry no email, so they cannot be found by email.
  • If usage data is still on, the next session starts a new record. Switch it off first.

Vercel logs expire on Vercel’s schedule. Files on your Mac are yours to delete.

This applies wherever you live, including under the GDPR and the CCPA/CPRA.

Children

Chronarium is not directed at children under 13, and we do not knowingly collect their information.

Changes to this policy

If we make a change that matters, we update the date at the top of this page and email the people on our email list.

Contact

Polymath Studios LLC
306 W Redwood St #4568
Baltimore, MD 21201-1708, United States
support@chronarium.app