Skip to content

Sync and privacy

Pinwork does not require a Pinwork account. Your tasks live on your device and sync through your private iCloud database when iCloud is available.

There are no Pinwork servers for your task data.

Pinwork stores tasks, projects, tags, checklist items, ordering, and app metadata in a local Core Data store on your device.

Production device builds use Apple’s CloudKit-backed Core Data syncing through your private iCloud database.

The CloudKit container is owned by the app, but the records live in your private iCloud scope.

Sync runs automatically.

When you save changes, Core Data exports those local changes to CloudKit. Changes from other devices are imported by Apple’s CloudKit system on its own schedule.

Pinwork listens for remote change notifications, refreshes the local view context, and asks open task, project, and tag screens to reload from the store.

CloudKit import timing is controlled by Apple. Pinwork can refresh local data that has already arrived, but it cannot force iCloud to download instantly.

Pinwork works offline.

The local store remains the source of truth for the current device while you are offline. You can keep creating, editing, completing, and organizing tasks.

Pending changes export when iCloud is available again.

If iCloud is unavailable, busy, rate limited, signed out, not authenticated, or out of quota, sync diagnostics can show a user-facing message. Sync retries are left to the system.

Open Settings and the Sync section to see:

  • status
  • iCloud account status
  • last Cloud activity
  • last checked time
  • last error
  • Check Sync Status

Status labels can include Ready, Checking, Recent activity, or Needs attention.

Check Sync Status can save pending local changes and refresh local data that has already been imported. It cannot force an instant iCloud download.

If the iCloud account is signed out, sync is paused. Sign in to iCloud and restart Pinwork.

Pinwork does not show a field-by-field conflict resolver.

Core Data merges background changes into the main app context, and open views reload from the store after remote sync notifications.

If the same task changes on multiple devices, recover by editing the task again, using local undo where available, or restoring from Archive where that applies.

Most preferences live in local device settings.

Selected preferences sync separately through iCloud Key-Value Storage, including:

  • GTD mode
  • completion behavior
  • auto rollover
  • Calendar Peek
  • linked calendar event visibility
  • upcoming time range
  • onboarding completion and version
  • starter project version and ID

Some settings stay local or App Group based, including many device-specific flags, Spotlight controls, deep-link related state, and widget settings.

Pinwork can import selected Apple Reminders lists into Pinwork projects.

The import is one-way. Pinwork reads the Reminders lists you choose and does not change, delete, complete, or keep syncing Apple Reminders.

Imported reminders become normal Pinwork tasks. After import, those tasks are stored locally in Pinwork and sync through Pinwork’s private iCloud data when iCloud is available.

See Import Apple Reminders for the full import workflow and field mapping.

Widgets, Shortcuts, Share Extension, Focus Filters, and Live Activity controls need small shared payloads so they can work outside the main app.

Pinwork stores these payloads in the shared App Group container.

Shared data can include:

  • widget snapshot
  • widget, App Intent, and share action queue
  • intent task index
  • share metadata cache
  • widget settings
  • cached entitlement state
  • pending Live Activity completion ID
  • pending intent navigation
  • Focus Filter state

The cached entitlement state is a Pinwork-owned access summary. Extensions and Apple Watch do not load RevenueCat or inspect App Store purchase history directly.

The widget snapshot includes a lightweight Today summary and task rows with fields such as ID, title, When, Deadline, priority, overdue state, and completed state.

The intent task index includes incomplete task IDs, titles, optional scheduled dates, and overdue state.

The share metadata cache includes active project names, project colors, tag names, and tag colors.

Pinwork can index active tasks into system Spotlight search.

Spotlight indexing is on by default and local to the device.

Indexed fields can include:

  • task title
  • notes as content description
  • tags
  • keywords such as inbox, today, waiting, someday, and maybe
  • task deep link URL
  • creation date
  • modification date

Done and Canceled tasks are removed from the Spotlight index. Apple Watch does not index tasks.

In Settings, you can disable Spotlight indexing, rebuild the index, or clear the Pinwork Spotlight index.

Apple processes Pinwork purchases and payments. Pinwork uses RevenueCat to load App Store products and verify monthly, yearly, and lifetime access.

RevenueCat receives:

  • a stable pseudonymous Pinwork customer ID
  • App Store product and purchase history
  • subscription and entitlement status
  • store environment, such as production or sandbox
  • purchase, expiration, renewal, billing, refund, and revocation evidence when the underlying store makes it available

Pinwork creates the customer ID by applying a one-way SHA-256 hash to a versioned value derived from Apple’s verified App Transaction identity and store environment. Pinwork does not persist or log the raw App Transaction ID, and RevenueCat does not receive it from Pinwork.

Purchase History and the pseudonymous customer ID are used for App Functionality and Analytics. They are linked to that pseudonymous customer record and are not used for tracking.

Automatic RevenueCat device identifier collection is disabled. Pinwork does not set RevenueCat customer attributes such as email address, display name, phone number, advertising identifier, or attribution data.

Pinwork does not send any of the following to RevenueCat:

  • task titles or notes
  • projects, tags, or checklists
  • Calendar events or Reminders
  • contacts
  • email address or phone number
  • Apple Account details
  • advertising identifiers
  • iCloud records

RevenueCat is linked only to the main Pinwork app. Widgets, App Intents, the Share Extension, Apple Watch, Watch widgets, CoreKit, SharedConstants, and PinworkIntents do not include the RevenueCat SDK.

Pinwork stores a verified entitlement snapshot locally and publishes a limited access summary to its App Group and Apple Watch.

Cached no-access evidence cannot remove previously trusted access. Trial and subscription access is bounded by the last known expiration. Grace period access uses a limited verification window. Billing retry, expired, and revoked states remain read-only.

If previously trusted lifetime access disappears from otherwise fresh purchase evidence, Pinwork performs one guarded purchase synchronization and current-network check. Absence alone does not revoke lifetime access.

This page describes the native Pinwork app and its extensions. The marketing website is separate and may have its own website analytics disclosure.

Reset Local Data can appear on the database recovery screen if the local store fails to load. It deletes this device’s local store files for recovery. If CloudKit is enabled and iCloud data exists, data may sync back after recovery.

Do not use Reset Local Data as account deletion. It is local database recovery.

Was this page helpful?

Ask us anything

What's this about?