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:
- your calendar list — names, colours and access roles, so it can show which calendar an item belongs to and let you choose which to include;
- events in a window of today plus two to four days, in the calendars you have chosen — titles, times, locations, conference links, colours and recurrence information;
- Google's colour palette, so items are drawn in the same colours as Google Calendar.
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.
| What | Where |
|---|---|
| OAuth access and refresh tokens | macOS Keychain, as a single generic-password item under the app's bundle identifier |
| The trial's start date, and your license key once activated | macOS Keychain, as a second item under the same identifier, so reinstalling the app does not restart the trial |
| The most recent calendar fetch | Application Support/DeadlineFloat/snapshot.json — kept so the window has content the moment it opens and continues to work offline |
| Your settings | the 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
- Settings → Account → Disconnect revokes the token with Google and deletes the stored tokens and the local cache.
- Dragging the app to the Trash and deleting
~/Library/Containers/com.niravsurabhi.DeadlineFloatremoves everything else. - You can revoke DeadlineFloat's access at any time, independently of the app, at myaccount.google.com/permissions.
- Settings → License → Remove key forgets the key on this Mac. The trial date and license item can be removed in Keychain Access, under the app's bundle identifier.
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.