321 Oak
321 Oak

Privacy Policy

What Checked Off and our website collect, how we use it, and what choices you have.

Last updated: 10.5.2026

Who we are

Checked Off is software published by 321 Oak, Inc., a Pennsylvania corporation. You can reach us at [email protected].

What this policy covers

This Privacy Policy describes what data Checked Off collects, how we use it, and what choices you have about it, during the beta period. By using our service, you confirm that you agree to this Privacy Policy.

WE URGE YOU TO READ THIS PRIVACY POLICY AND BE SURE YOU UNDERSTAND AND AGREE TO IT. IF YOU DO NOT AGREE WITH THE PRIVACY POLICY PLEASE STOP USING OUR SERVICES.

This policy covers:

This policy does not cover:

What data we collect

Anonymous usage analytics

Checked Off collects structured event data from usage. Collection is a condition of beta participation — beta testers consent to this at recruitment, and there is no in-app toggle to disable collection during the beta period.

What we collect: approximately 21 event types covering:

Each event carries:

This lets us distinguish platform-specific issues across the surfaces Checked Off runs on.

Approximate location: PostHog, our analytics processor, derives an approximate location (city, region, postal code) from the IP address your device connects from when transmitting events. We do not separately collect or store precise GPS or device location.

What we never collect in analytics events:

Error events specifically never contain error messages, stack traces, or application state. Only the enum-valued error type and feature context are transmitted.

Where this data goes: analytics events are transmitted to PostHog, acting as our analytics processor. We have a data-processing agreement with PostHog under their standard terms. PostHog does not use your data for their own purposes. PostHog's own privacy policy governs their data handling: https://posthog.com/privacy. PostHog data is hosted in the US region.

How and when we transmit: events are buffered on your device and transmitted to PostHog in small batches approximately once per minute during active use, and on app close. If the app crashes, pending events are transmitted on the next app launch. If your network is unavailable, events are retained on your device and transmitted when connectivity returns. Old buffered events are dropped if they cannot be transmitted within a reasonable window — this prevents the buffer from growing indefinitely if you are offline for an extended period. All transmission is over TLS.

What PostHog features we use: events only. We do not use PostHog's session replay, heatmaps, or autocapture features. Our instrumentation is deliberate — we only record what we have named in the event list above.

Bug reports

When something goes wrong in Checked Off, you may choose to file a bug report using the in-app "Report a bug" composer.

What a bug report includes by default:

What you can optionally attach:

What happens if Checked Off crashes: when Checked Off crashes (as opposed to an error you were shown), an anonymous app_crashed event is included in the next analytics transmission. On the next app launch, a dismissible banner asks whether you'd like to file a report about the crash; the report composer opens pre-populated with the diagnostic log from the crashed session (which Checked Off saves locally for this purpose). You're free to dismiss the banner without filing anything; the anonymous app_crashed analytics event fires either way.

Where bug report data goes: bug reports are transmitted to the same PostHog project as analytics events, as a distinct event type. We chose this so Checked Off's maintainers can cross-reference bug reports against the anonymous analytics event stream in the same system. Bug report size is capped to PostHog's per-event limits; if an attached diagnostic log exceeds the cap, it is truncated and marked as such. If you need to send a larger log, you can export it from Settings and email it to us directly.

AI features and third-party providers

Checked Off offers optional AI-assisted features that require you to enable MCP protocol from an AI provider.

What your connected AI application can access, when AI access is turned on:

What Checked Off itself never does:

Your control: you can enable MCP access at any time in Settings, remove it at any time to immediately disable AI features, or use Checked Off indefinitely without configuring any AI key. AI features are optional; the app is fully functional without them.

Account information

You don't need an account to use Checked Off's free tier. An account is required if you opt into Sync or purchase Plus.

You can sign in with an emailed one-time code, or with Google or Apple. Signing in with Google or Apple only confirms your basic identity — we do not receive your Google or Apple password.

For your account, we store: your account ID and email address; hashed sign-in-code state; a record that your account was deleted, if applicable; and a temporary email-delivery log, purged after 30 days. This data is hosted on Cloudflare; Resend, our transactional email provider, sends the sign-in-code emails.

You can delete your account and its data in the app, or through a public deletion page. Deleting your account removes your account data, synced files, and entitlement record. See How long we keep your data below for what happens after deletion.

Sync

Sync lets your data follow you across your devices. It's optional, off by default, and included at no extra charge on both the Free and Plus tiers.

Your data is encrypted on your device before it's uploaded for syncing. We see only file sizes, timestamps, file counts, and your account email — never the content of your synced data. Local data on your device that isn't being synced is not encrypted.

Turning Sync off on a device stops syncing on that device only. From any device you can also turn Sync off everywhere and delete your synced data; we start deleting it right away, with no grace period, and turning Sync off on your last synced device deletes it as well. Your other devices find out the next time they connect. We delete your encrypted files from our servers right away, and they stop being available to anyone. Our hosting provider may keep recovery copies of related database records for up to 30 days, and short-lived operational logs for up to 7 days, before they are purged. Your synced content is encrypted, so it stays unreadable to us and to our host, including in any such copies.

Payment and subscription information

If you purchase Plus, your payment is handled by Paddle (our website and the Microsoft Store), Google Play (Android in-app purchase), or Apple (in-app purchase, once available on iOS/Mac) — never by us directly.

These processors share your account ID and purchase receipts with us, and with RevenueCat, our entitlement-tracking provider, so that Checked Off knows what your account is entitled to across purchase paths and platforms.

What we receive is limited to what we need to manage your subscription: your Plus status and its end date, and transaction details such as the purchase amount and date, a transaction ID, and the payment method type, including, for card payments through Paddle, the last four digits, expiry date, and cardholder name. Paddle, as the seller of record for those purchases, also holds your name, email, billing address, and tax details, and can make them visible to us in our Paddle account for support, refund, and tax purposes.

Communications

We do not require any personal information to participate in beta. If you contact us via email or Discord, we will use the contact information you provide to respond to messages you send us (bug reports, feedback, support questions). Emails to [email protected] arrive in a support inbox hosted within our PostHog account, and may be handled using AI tools and other service providers as part of responding to you.

We will not send you a newsletter, marketing communications, or promotional content unrelated to your beta participation unless you explicitly opt in or, if after the beta test is concluded, we modify our privacy policy and you continue to use our services.

Your email address is stored in our email sending tool (MailerLite) and our contact email inbox. It is not transmitted with analytics events or bug reports; they remain anonymous. We have a data-processing agreement with MailerLite under their standard terms. MailerLite data is hosted in the EU region.

What we deliberately don't collect

Do Not Track signals

We do not respond to Do Not Track ("DNT") browser signals in any version of Checked Off (desktop or, in the future, browser-based). Our in-app analytics collection is governed by the recruitment-gated consent model described above, which applies regardless of any browser-level DNT signal. Our website does not use tracking technologies that respond to DNT signals.

How your data flows

For clarity, the data pathways you should know about are:

  1. Your task data stays on your device in a local SQLite database file. It is never transmitted to Checked Off's servers, unless you opt into Sync (see below). You can back it up yourself, open it with any SQLite tool, and take it with you if you ever stop using Checked Off.
  2. Anonymous analytics events flow from your device to PostHog, our analytics processor. They contain no task content, no names, and no free-text input.
  3. Bug reports you choose to file flow from your device to PostHog as distinct events. They contain what you chose to include, with preview and redaction before you submit.
  4. If you enable MCP access, your connected AI application reads and writes your Checked Off data directly on your device — what it then does with that data, including whether and how it contacts an AI provider, is between that application and its own provider. This never transits Checked Off's servers.
  5. If you enable Sync, your data is encrypted on your device and the encrypted files flow to Cloudflare, which stores them and relays them to your other signed-in devices. Cloudflare cannot read your synced content.
  6. If you purchase Plus, purchase and receipt data flows from Paddle, Google Play, or Apple to us and to RevenueCat, so your account's entitlement can be recognized across devices and platforms.
  7. Emails to or from us flow through standard email infrastructure (our Google Workspace account for general mail; PostHog's support inbox for [email protected]; Resend for account sign-in codes; your email provider).

Who has access to your data

Within 321 Oak, Inc.:

Outside 321 Oak, Inc.:

We do not sell, rent, or share your personal data with any other parties.

How long we keep your data

Your rights and choices

During the beta:

If you are a resident of a state with specific privacy rights, you may have additional rights once we hit certain thresholds, including rights of access, erasure, correction, portability, objection, and complaint. To exercise these rights, email us at [email protected] and we will respond as soon as reasonably practicable.

California residents — additional notices

This section applies to residents of California.

Categories of personal information. The categories of personal information we collect and the purposes are described in the What data we collect and Communications sections above. We do not sell personal information. We do not share personal information with third parties for cross-context behavioral advertising.

Your rights. California residents may request to access, correct, or delete personal information we hold about you, and may request a list of the categories of personal information we have shared (if any) with third parties for direct marketing. Email [email protected] to exercise these rights. We will respond as soon as reasonably practicable.

Shine the Light disclosure (Cal. Civ. Code §1798.83). We do not share personal information with third parties for those third parties' direct marketing purposes.

Breach notification (Cal. Civ. Code §1798.82). Our breach notification practices, published on our website, comply with California's breach notification timing and content requirements. Notices to affected California residents will be made in the most expedient time possible and without unreasonable delay.

Service intended for U.S. residents. Checked Off is intended for users located in the United States. If you are accessing the service from outside the U.S., your use is at your own risk and may be subject to your local laws, which we do not undertake to comply with.

Where your data is located

Our service is intended for users located in the United States. Please note that your usage data may transit or be processed in multiple regions, including the United States and the EU. We rely on PostHog's, Cloudflare's, Resend's, MailerLite's, and Google's standard data-transfer mechanisms where applicable.

Security

We take reasonable precautions to protect your data:

In the unlikely event of a security breach affecting your data, we will notify affected testers promptly and describe what happened and what we've done about it, per our breach-notification plan.

Children's privacy

Checked Off is not designed for, directed to, or intended for use by anyone under 18. We do not knowingly collect personal data from anyone under 18. Beta participants are expected to be at least 18 years old.

Changes to this policy

We may update this Privacy Policy as the product evolves and as we transition from beta to general availability. Material changes will be communicated to beta testers in advance via in app notice. The current version is always available at 321oak.com/privacy and in the app's Settings → About panel.

Contact

Questions about this policy, requests to exercise your rights, or anything else: [email protected].