Duolisto

Privacy, without the fog.

Duolisto collects only what it needs to authenticate you, connect your duo, synchronize your shared list, and keep the service secure.

Information Duolisto handles

We process an account identifier, an account type, an optional display name, and the verified email address attached to a saved account. A guest account gets a synthetic internal email address instead, which is not a contact address and never reaches anyone.

Your shared-list data includes task text, assignment and completion state, internal creator and updater references, partner membership, and invitation status. When you create a guest account, Duolisto handles a random installation identifier just long enough to calculate a SHA-256 hash. Only the hash reaches durable server storage, along with guest-creation rate-limit counters and guest activity timestamps.

Guest creation also passes through our Vercel-hosted website. Vercel supplies the request's network address to our guest-start endpoint. We handle that raw address only long enough to derive an HMAC-SHA-256 network identifier for rate limiting. Duolisto's application code never stores or logs the raw address, and never sends it to Convex.

Convex keeps the derived network identifier only in an expiring rate-limit record. We do not add it to your account profile and we do not use it to track you. It stops counting once the rate-limit window closes, and a scheduled cleanup deletes the expired record.

Push notifications

When notifications are enabled, Duolisto stores push tokens and a random installation identifier linked to your account so it can route partner activity to your devices. Notification messages can include your partner's name and a short preview of task text, or a notice that your partner stopped sharing the list.

Our servers send the push token and message to the Expo Push Service. Expo forwards the notification through Apple Push Notification service (APNs) on iOS or Firebase Cloud Messaging (FCM), operated by Google, on Android. These services process the notification content to deliver it. Previews can appear on your lock screen according to your device settings. You can turn partner notifications off in Duolisto Settings and manage previews in your device settings.

How it is used

We use this information to provide the shared-list service, synchronize changes, connect partners, prevent abuse, recover saved accounts, and honor deletion requests.

Duolisto has no advertising, no cross-app tracking, no third-party analytics, no contact uploads, no location collection, and no payments. Once you add a partner and allow notifications, we send push notifications about what that partner does to the list. You can turn those off in Settings.

Sharing and service providers

A connected partner can see and change the tasks on your shared list. Clerk provides authentication and identity storage. Convex provides the application database, synchronization, and server execution. Vercel hosts the website and provides the trusted ingress used to start guest sessions. Expo, Apple, and Google provide push notification delivery as described above. These providers process data for Duolisto under their applicable terms. We do not sell personal information.

Retention and deletion

Saved-account data stays until you delete the account. Inactive, unpaired guest accounts are eligible for automatic deletion once the configured retention period passes. You can delete your own account in Duolisto under Settings → Account.

A deletion request blocks new writes to the account immediately. The service then works through tasks, invitations, the account record, and the Clerk sign-in identity in bounded background phases. Account data and the Clerk identity can remain for a short time while those phases run. We keep retry information until every phase succeeds, then remove it.

Notification retry and duplicate-prevention records expire after seven days. They can contain account and task identifiers during that period, including after account deletion. We discard retry descriptors when delivery settles and remove expired records through hourly cleanup.

If one member of a duo deletes their account, the other keeps the shared tasks as a solo list. We remove the references and assignments belonging to whoever left.

Your choices

You can review your shared content in the app, sign out to disconnect from the service, or delete your account permanently. For an access, correction, or privacy request, email tristan@crowlabs.tech.

Effective September 7, 2026. We will update this page when our practices change.