Policy

Privacy Policy

Last updated: July 14, 2026

Current release status The current Taskliner release is local-first. Optional Discord completion sharing is available when you configure your own Webhook URL. Google Drive file sync, advertising, and analytics are not enabled.

Who operates Taskliner

Taskliner is an independent software project operated from Japan. For privacy or security questions, contact bloomlateral@gmail.com.

What Taskliner stores in your browser

When you use the app, task titles, notes, due dates, completion state, outline structure, and app settings are stored in your browser. The current release uses IndexedDB as its local data store and may retain the legacy localStorage["taskliner-v1"] copy while migration and recovery safeguards are in place.

This data is not sent to a Taskliner database. Clearing browser storage can remove your local copy, so use the JSON export in the File menu when you need a portable backup.

Optional Discord completion sharing

If you explicitly enable Discord completion sharing and provide your own Discord Incoming Webhook URL, the browser sends a completion update directly to that Discord channel. Taskliner does not proxy or store these posts on an operator server.

The selected visibility level controls whether the post contains only a generic progress message, the top-level category, or the completed task title. The Webhook URL is stored locally in a separate browser store and is not included in task JSON exports or Google Drive sync data. Discord processes the received data under its own terms and privacy policy.

Information processed by the website

The current release does not include an analytics SDK, advertising script, or error-reporting service. If you enable sync, the browser uses Taskliner’s Cloudflare Pages Functions and Google Drive API to access only the drive.appdata area.

Google authorization and Drive sync

When you explicitly connect Google, Google’s authorization endpoint handles account selection and consent. Taskliner’s Cloudflare Pages Functions exchange the authorization code and keep an encrypted refresh token so the browser does not need to start an OAuth redirect on every reload. Taskliner does not request access to ordinary Drive files.

When sync is enabled, task content passes through the sync Function and is stored as plain Taskliner device-state files in your Google Drive app data. Taskliner does not store task content in D1 or KV. The Function does not intentionally write task content to access logs, analytics, advertising, or error reports. This is not end-to-end encryption: Google Drive protects the data through your Google account and app-specific Drive access.

Discord Webhook settings and completion outbox records are kept separate and are not included in the Drive task payload. Disconnecting Taskliner removes the local session; it does not delete the remote Drive files or the shared refresh token used by other devices. The explicit “Disconnect Google everywhere” action revokes Google access and removes that token. Drive deletion is a separate explicit action and pauses automatic re-upload until you confirm a new sync.

If you connect another Google account, Taskliner stops before merging and asks whether to use the new account’s Drive data or keep this device’s local data. An empty or externally deleted Drive snapshot is not treated as a command to erase the local document.

Choices and deletion

Children

Taskliner is not directed to children under 16 and is not designed or advertised as a service for children.

Changes to this policy

We will update this page when the data practices change, especially before enabling Google Drive sync, advertising, analytics, or additional account features. The effective date at the top of this page will change with the policy.