Your data stays yours.

Patterns is local-first. No accounts or cloud sync. Your journal and OCD records live on your device. Optional, default-off anonymous product analytics contain only feature-use events and never include personal OCD content.

OCD Data Stays Local

Your journal, exposures, compulsions, notes, and ratings stay on your device.

Optional Usage Analytics

Default-off, first-party feature-use events with no personal OCD content.

Open Source

Fully auditable code. Verify it yourself.

Privacy policy

Last updated: August 25, 2026

What Patterns stores

Patterns stores journal entries, OCD event notes, obsession or compulsion category, distress ratings, strategy notes, dates, timestamps, and basic app preferences such as theme and onboarding completion.

Local storage

Patterns does not create accounts, upload journal entries or OCD records, provide cloud sync, or include advertising or a third-party analytics SDK. Patterns does not sell, share, or send your entries to third parties. Manual exports go only where you choose to save them.

Anonymous product analytics

Share Anonymous Usage Analytics is optional and off by default. If you enable it, Patterns sends a random installation UUID, coarse platform, app version, and a closed set of feature event names, schema versions, and timestamps to a first-party Cloudflare Worker and D1 database. It never sends journal entries, intrusive thoughts, obsessions, compulsions, exposures, notes, ratings, Y-BOCS answers, recovery text, price, receipts, transaction identifiers, account identifiers, advertising IDs, device fingerprints, or location. The UUID is random, is not based on your device or an account, and is used only for this service.

Analytics retention and opt-out

Uploaded analytics events are automatically deleted within 90 days of the server receiving them. Turning analytics off stops new collection and immediately deletes the pending queue and analytics UUID from your device. Because Patterns has no account and discards that UUID, previously uploaded rows cannot be looked up or deleted for an individual; they expire through the automatic cleanup.

Purchases

Apple App Store and Google Play process in-app purchases under their own terms. Patterns receives the purchase result needed to unlock Pro and stores that entitlement locally. Anonymous analytics may record only that a purchase was started or completed. It never includes price, receipt data, transaction identifiers, StoreKit identifiers, RevenueCat identity, financial information, journal entries, or OCD records.

Export and import

Manual export creates a JSON backup file in the location you choose. After export, that file may be handled by your device, cloud storage, email, or another document provider. Importing a backup replaces the current local journal and OCD entries in the app.

Health and safety

Patterns is for personal reflection and self-tracking. It does not diagnose, treat, prevent, or cure any condition, and it is not a replacement for care from a qualified clinician.

Data deletion

You can delete individual OCD events in the app. Settings also includes a Wipe all data action that deletes local journal entries, OCD events, app preferences, pending analytics events, and the local analytics UUID from the device. Already uploaded anonymous analytics events remain only until the automatic 90-day expiry described above.