← DeadlineFloat

Privacy Policy

Last updated 13 October 2026

The short version. DeadlineFloat runs entirely on your Mac. It reads your calendars from Google and displays them. If you turn on Moving events, it can also change when one of your events starts and ends — nothing else. Your calendar goes nowhere but Google. If you buy DeadlineFloat, the app also checks your license key with DeadlineFloat's license service, which asks Stripe whether the purchase stands — the key, and nothing about you or your calendar. There is no account, no analytics and no telemetry.

On-device task detection

On supported Macs, Apple Intelligence uses event titles, descriptions and calendar names to identify unfinished tasks. Classification runs locally using Apple's on-device model; this content is not sent to a cloud AI service. Results are cached in memory. Completing a task remains a local preference and does not modify its Google Calendar event.

What it accesses

DeadlineFloat requests a single Google OAuth scope:

https://www.googleapis.com/auth/calendar.readonly

Google describes this as “See and download any calendar you can access using your Google Calendar.” It grants read access only. It does not permit creating, modifying or deleting calendars or events.

The optional second scope

Settings → Account → Moving events is off by default. Turning it on, and reconnecting, adds one more scope:

https://www.googleapis.com/auth/calendar.events

Google describes this as “View and edit events on all your calendars.” It is what allows a block on the calendar to be dragged to a different time or a different day, or its edges pulled to change how long it lasts.

DeadlineFloat narrows that permission much further in its own code than Google narrows it. Every request it makes to the Google Calendar API must be an HTTP GET, with exactly one exception: an HTTP PATCH addressed to a single event's own URL, whose entire body is that event's new start and end. The network layer checks the method and the shape of the path and rejects anything else before the request leaves your Mac. The app therefore cannot create an event, delete an event, change an event's title, guests or description, or alter a calendar or its sharing — whether or not the setting is on. With the setting off, the GET rule is absolute.

When an event is moved, the request is sent with sendUpdates=none, so rescheduling something on your own calendar does not email its guests.

No other scope is requested. DeadlineFloat does not ask for your name, email address, profile, contacts, or any other Google service.

From the Calendar API it reads:

Calendars you have not ticked in Settings are never requested, so their events never leave Google.

The only thing it ever writes back is an event's start and end, and only when you have turned Moving events on and dragged that event yourself.

The Accessibility permission

With the edge bar on, DeadlineFloat asks macOS for the Accessibility permission, so that a window zoomed or filled over the bar can be drawn back beside it. It reads only the position, size and kind of other apps' windows, and changes only their position and size. It does not read their contents, record keystrokes or the screen, or send anything about them anywhere. Turn off Settings → General → Keep windows beside the bar, or the permission in System Settings, and it stops looking.

Where your data goes

Your calendar goes nowhere but Google.

The part of DeadlineFloat that talks to Google enforces an allowlist of exactly two hosts — oauth2.googleapis.com and www.googleapis.com — and refuses any request to any other host. The license check, below, runs through a separate connection that can make exactly one kind of request — asking DeadlineFloat's license service whether a key is valid — so neither can send what the other holds. There is no analytics endpoint, error-reporting endpoint or usage endpoint to disable, because none could be reached.

Your license

DeadlineFloat is free for seven days, then paid. Payment happens on Stripe's checkout page: Stripe collects your email address and card details under its own privacy policy, and DeadlineFloat never sees your card. After paying, the thank-you page shows your license key.

The app sends that key — and nothing else — to DeadlineFloat's license service at deadlinefloat.vercel.app when you paste it in, and about once a week after, to ask whether the purchase still stands. The service asks Stripe and answers yes or no; it keeps no record of the request. Nothing about your calendar, your Google account or your Mac goes with it.

During the trial nothing is sent anywhere: the date of the first launch is kept on your Mac.

Where your data is stored

All on your Mac.

WhatWhere
OAuth access and refresh tokensmacOS Keychain, as a single generic-password item under the app's bundle identifier
The trial's start date, and your license key once activatedmacOS Keychain, as a second item under the same identifier, so reinstalling the app does not restart the trial
The most recent calendar fetchApplication Support/DeadlineFloat/snapshot.json — kept so the window has content the moment it opens and continues to work offline
Your settingsthe application's preferences file

Nothing is uploaded, backed up to a service, or shared between devices by DeadlineFloat. If your Mac has iCloud Keychain enabled, macOS itself may sync the Keychain item; that is a system feature, not something the app does.

Logging

DeadlineFloat writes diagnostic messages to the standard macOS unified log — counts, HTTP status codes and sync outcomes. Event titles, locations, calendar names and attendees are deliberately excluded. These logs stay on your Mac.

Deleting your data

Children

DeadlineFloat is not directed at children under 13 and collects no data from anyone.

Changes

Any change to this policy will be published at this URL with an updated date.

Contact

niravsurabhi@gmail.com