Privacy

Privacy policy.

How Edgethink collects, uses, discloses, and protects information when you use drifty.

On this page

Information we collect Optional screen recordingOptional device sync drifty for iPhone How we use information AI features & generated content Third-party services Data sharing & disclosure Teams (beta) Data retention Security International users Children's privacy Your privacy rights Changes Contact
Effective · November 11, 2026 Entity · Edgethink

Edgethink ("drifty", "we", "our", or "us") recognizes that your privacy is important. This Privacy Policy explains how we collect, use, disclose, and protect information when you access the drifty website, the drifty desktop application, the drifty iPhone app, or any related services (collectively, the "Platform").

By accessing or using the Platform, creating an account, signing in, downloading the app, or continuing through an account flow, you acknowledge the collection, use, and storage of information as described in this Privacy Policy. If you do not agree with this Privacy Policy, please do not use the Platform.

If you have any questions, please contact support.

Information we collect

Account information

When you create an account, we may collect information such as:

  • Name
  • Email address
  • Password authentication data handled by our authentication provider
  • Authentication provider information (such as Google or Apple login details)

We use this information to create and manage your account, authenticate access, and communicate with you about the Platform.

When you sign in with Google, Google and our authentication provider may provide a Google account identifier, email address, name, and profile image. We use this basic identity data only to create, authenticate, secure, and display your drifty account. Basic Google sign-in does not by itself give drifty access to Gmail, Google Drive, Google Calendar, or other Google product content, and drifty does not use provider tokens from the basic sign-in flow to call those Google APIs.

When you sign in with Apple, Apple provides a stable user identifier and an email address, which is a private relay address if you choose to hide your email. drifty does not ask Apple for your name. We use this data only to create, authenticate, and secure your drifty account. When you delete an account that signed in with Apple, drifty asks Apple to revoke that authorization before deleting the account.

Optional Google Calendar connection

If you choose to connect Google Calendar during a supported Google onboarding flow or later in Settings, drifty separately asks for permission to see events on Google calendars you own. You can decline this optional permission and continue using your drifty account.

The Mac app reads only your primary calendar for the date range needed to show calendar context in drifty. It requests a limited set of event fields: event identifiers, status, titles, start times, and end times. Calendar information is kept separate from your tracked activity and productivity totals.

The Calendar refresh credential is stored locally in the macOS Keychain. Calendar event data is processed in memory and is not written to drifty Cloud, Supabase, the local tracker database, PostHog or other analytics, Sentry, or AI provider requests.

Disconnecting Google Calendar in Settings deletes the Calendar credential and Calendar data held by drifty on that Mac and stops future Calendar API requests. It does not revoke the authorization recorded in your Google Account; you can revoke that authorization separately from your Google Account permissions.

Activity and usage data

drifty is a productivity and activity tracking platform. Depending on your settings and permissions, we may collect:

  • Application names
  • Window titles
  • Website domains
  • Website URLs and page titles available to the local Mac tracker when browser permissions allow
  • Derived content context, such as workspace, project, parent page, section heading, tag, status, or document metadata, when available through app permissions, local context, or supported integrations
  • Active application usage duration
  • Website usage duration
  • Timestamps and activity metadata
  • Productivity categorizations and labels
  • Device and operating system information
  • Interaction and feature usage data

We may also generate summaries, analytics, insights, categorizations, or productivity-related outputs based on this information.

drifty does not record keystrokes and does not intentionally collect passwords, secrets, or API keys. Depending on your settings and permissions, drifty may read limited on-screen context, such as page headings, short visible text, or images, to understand your activity. Raw activity history is stored locally on your device by default, and the complete local timeline remains the source of truth.

Optional screen recording

Screen recording is off by default. If you allow it during setup or in Settings, drifty saves the screen of supported apps (TextEdit and Preview on Mac, Notepad on Windows) about every 10 seconds while you use them, together with the text visible in that window, so you can click an activity and see what was on screen. On Mac this uses the Screen Recording permission you grant in System Settings.

  • Saved screens stay encrypted on that computer. They are not uploaded, synced, or shared, and AI classification does not use them.
  • They are deleted automatically after 24 hours, and storage is limited to 1 GB.
  • Apps you choose not to record in Settings are not saved.
  • You can view or delete saved screens, or turn screen recording off, at any time in Settings. Deleting activity history for a period also deletes the screens from that period.

Optional automatic memory (Dev beta)

On Mac, automatic memory is off by default and available through the Work memory switch in Developer settings. Enabling it requires a separate confirmation to send visible text from the apps and work sites you choose to Anthropic’s Claude to extract memories and write work pages. It reads about every 30 seconds while you work; it does not send screen images. With a trial or Pro, requests pass through drifty Cloud, which keeps usage totals but not memory content; with your own Anthropic key they go directly to Anthropic. Memories used in Chat also go to the provider selected for that chat. Memory conversations are excluded from saved chat history and product analytics.

Original screens and extracted memory text expire within 24 hours. Work wiki pages and your notes stay on this computer until you delete them. The memory store is encrypted; readable Markdown copies are also kept in the app’s data folder for use in other tools. Deleting your account leaves this local memory folder in place. You can stop automatic memory or delete its memories, pages, Markdown copies and saved screens in Settings.

The memory engine is downloaded once from GitHub when you request it, and search models are downloaded from Hugging Face when first needed. These services receive normal download connection information, not screen text or memories. Embeddings and search run on your Mac.

Optional Device Sync

Pro Device Sync is separate from public sharing and is off by default. If you enable it for a signed-in account, drifty copies raw activity segments into private, account-scoped sync storage so that the same account owner's Macs and Windows PCs can merge their activity across up to three computers. You must enable sync separately on each computer in Settings → Account.

Sync also includes classifications, activity deletions, excluded apps, and your category settings: category and productivity names, colors, and descriptions, the categories and productivity levels you add, and their order. Project definitions, classification rules, and other app preferences stay on each computer.

Synced activity rows are not shown on a public profile, leaderboard, team, or other shared surface. Turning sync off does not change the local database's role as the source of truth. You can use the in-app device-sync controls to review, pause, or purge the remote copy.

The drifty iPhone app can use the same account's Device Sync as described below. iPhones do not count toward the three-computer limit.

If you create an API key in drifty's settings, anyone who has that key can read your synced activity through the drifty API, within the permissions you chose for it. Keep your keys private. A key stops working when you delete it or when Pro access ends.

If you connect an AI assistant such as ChatGPT to drifty, that assistant can read daily summaries of your synced activity: tracked, focus and drift time per day, categories, app names, and site domains. It cannot read window or page titles, full URLs, individual activity records, projects, or other people's data, and it cannot change anything. A connection lasts up to 30 days and stops working at once when you disconnect it at drifty.so/connect/ai or when Pro access ends. To run the connection, drifty keeps the service's name and identifier, its return address, the time zone, and when it was last used, and deletes them when you disconnect it or delete your account. Summaries the assistant has already read are handled under that assistant's own privacy policy.

drifty for iPhone and Screen Time

The drifty iPhone app works without an account as a Screen Time blocker. With your permission, it uses Apple's Screen Time features (Family Controls) for your own iPhone only.

  • The apps, categories, and websites you pick in Apple's picker are kept on the iPhone as opaque tokens that do not reveal their names to drifty, together with the name you give the group, your daily limit, and your focus sessions. They never leave the iPhone.
  • Screen Time figures, such as totals, hourly use, and most-used apps, are drawn on the iPhone by a Screen Time report extension that cannot use the network. drifty does not receive them.
  • To show approximate iPhone time in your timeline, the app notes on the iPhone each moment another five minutes of use of your picked apps passes. These marks contain no app names or tokens and are kept on the iPhone for eight days.

Send iPhone time to my computer is off by default. After you sign in and confirm, the app sends the name of your app group and the approximate start time, end time, and minutes of each block of use for the last seven days. It never sends app names, bundle identifiers, website names, or Screen Time tokens. The blocks are stored in private, account-scoped sync storage, are readable only through your signed-in account, and appear on your own computer's timeline as approximate time that is not added to your totals. Storing and reading them requires Pro Device Sync. Turning the setting off deletes the stored blocks. They are also deleted when you purge your sync data, 60 days after qualifying access ends, and when you delete your account.

When you are signed in and Pro Device Sync is on in drifty on your computer, the iPhone app reads your recent synced computer activity to show it: times, the app, window or site title, site domain, category, productivity, and the computer's name, without full URLs. The iPhone keeps a copy on the device for faster display and removes it when you sign out. Reading does not register the iPhone as a sync device.

To show icons, the iPhone app looks up an app's icon on the App Store by its bundle identifier and a website's icon from Google's favicon service by its domain. These requests carry no account identifier.

iPhone usage data is never used for advertising, sold or shared with data brokers, shown on team, leaderboard, or public profile surfaces, sent to AI classification providers, or included in product analytics. The iPhone app contains no advertising or analytics SDK.

Cookies and similar technologies

We may use cookies, local storage, analytics SDKs, and similar technologies to:

  • Maintain user sessions
  • Remember preferences
  • Improve Platform functionality
  • Measure usage and performance
  • Analyze user behavior and product adoption

Website analytics on drifty.so uses PostHog with limited browser storage for visitor and event measurement. Website session replay is disabled by default.

The production Mac app sends limited, named product events to PostHog using a dedicated random analytics install identifier. When a user is signed in, account-level active-user measurement uses a deterministic one-way digest of the Supabase account identifier so the same account can be counted across launches and devices. Desktop product analytics is enabled by default and can be disabled at any time in Settings → Privacy. Disabling it stops future desktop product analytics events and does not affect core app functionality. When desktop product analytics is on, the same setting also allows drifty to store Chat conversations and activity records in drifty Cloud as described in Chat and Activity records; both are stored separately from PostHog.

Desktop product analytics may include one bounded summary for the previous completed calendar day measuring whether an eligible intervention occurred, whether the cat experience was enabled or attempted, intervention route and outcome counts, return within ten minutes, petting and dragging sessions, one-hour hides, and cat preference changes. The summary also includes its reporting date and measurement version. Each count is capped at 100 and an overflow flag indicates whether a cap was reached.

Product update email. When you are signed in to the desktop app with product analytics on, drifty keeps a profile for your account in PostHog with your email address, name (if your sign-in provider shares it), platform, plan, sign-up date and the last day you used the app. We use it to send product updates and announcements and to choose who receives them, for example people who used the app recently. In October 2026 we added existing accounts to this profile once. Every update email has an unsubscribe link, and you can ask support@drifty.so to delete the profile.

Apart from that profile, this desktop analytics path does not send the source account identifier, email address, name, Cloud device identifier, raw intervention or interaction ledger rows, app or site name, URL, window or page title, segment identifier, source activity timestamp, drift duration, raw interaction properties, or raw app, site, window, session, or timeline history. PostHog person-profile processing is disabled for these desktop events, and the project is configured to discard client IP data.

Account authentication, checkout, app preferences, and security features may also rely on cookies, local storage, or similar browser storage where needed.

You can modify your browser settings to manage cookies and storage, although some Platform features may not function properly without them.

How we use information

We may use collected information to:

  • Provide and maintain the Platform
  • Authenticate users and secure accounts
  • Generate productivity insights and analytics
  • Improve Platform performance and reliability
  • Develop, train, evaluate, and improve algorithms, AI systems, and machine learning models and features
  • Conduct internal research and product analysis
  • Monitor usage trends and user engagement
  • Detect abuse, fraud, or security issues
  • Communicate updates, announcements, and support information

We may use aggregated, anonymized, or de-identified data for analytics, benchmarking, research, model training, and model improvement purposes.

We may use user data, including activity data, AI requests and results, Chat conversations, and feedback, to train, evaluate, and improve our algorithms, AI models, and AI-powered features. We do not sell personal data to third parties.

AI features and generated content

The Platform may use AI models and automated systems to generate productivity summaries, categorizations, recommendations, or other outputs ("Generated Content").

For a product-level overview of AI classification, see AI time tracking.

You retain ownership of your data and Generated Content to the extent permitted by applicable law.

AI classification may transmit minimized activity fields, such as app name, domain or host, page or window title, duration, and optional sanitized work-profile context, to configured AI providers for that request. It also sends the category and productivity descriptions you write in the category editor, with their custom names and the names of categories you add, and project matching sends your project names and descriptions, so the model can follow your own definitions. With Local AI, these requests stay on your computer. When additional context is needed to improve classification quality, drifty may include sanitized derived context such as workspace, project, parent page, section heading, tag, status, or short metadata hints after local filtering and redaction. Classification requests are minimized before they are sent and do not include your local tracker database, passwords, secrets, or API keys. We may store classification requests and results, including the minimized activity fields they contain, to operate, evaluate, and improve drifty.

We may process User Data and Generated Content to improve Platform functionality, recommendation quality, categorization accuracy, and related machine learning systems, including by training and evaluating AI and machine learning models.

We do not permit third parties to use identifiable customer data for their own independent advertising purposes.

Chat

Chat answers questions about your activity. When you use Chat, drifty processes your messages, the activity context it retrieves from your records to answer them, and the responses it generates. With drifty Cloud, our AI providers process this information to generate responses. With a connected agent such as Codex or Claude Code, that agent's provider processes it under your own account and its own terms.

When desktop product analytics is on, drifty may store Chat conversations, including conversations with a connected agent, together with related usage information such as the connection used, tools called, response times, and ratings. We use them as described in How we use information, including to train, evaluate, and improve drifty's AI and machine learning models. You can turn this off in Settings → Privacy; turning it off stops storage of future conversations.

Where available, we configure the AI providers that process drifty Cloud requests so that they do not use that data to train their own models.

Activity records

Depending on your settings, such as product analytics and your AI connection, the desktop app may also send drifty Cloud minimized records of your activity, such as the apps and sites you use, window and page titles, times, and categories. We use them as described in How we use information, including to train, evaluate, and improve drifty's classification and other AI features. You can turn this off in Settings → Privacy.

Third-party services

We use third-party infrastructure and service providers to operate the Platform. These providers may process information on our behalf. These services may include:

  • Supabase for authentication, account data, Edge Functions, database services, stored AI request records, activity records, and Chat conversations, and private account-scoped raw activity segments when Pro Device Sync is enabled
  • PostHog for website analytics, privacy-minimized, pseudonymous product analytics, and product update email
  • Google services for Google sign-in, the optional local Google Calendar connection, Google AI/Gemini classification providers, and website icons in the iPhone app
  • Apple for Sign in with Apple, Screen Time features on the iPhone, iPhone app distribution, and App Store icon lookups
  • OpenRouter for AI model routing for Cloud AI features, including classification and Chat
  • Anthropic (Claude API) for Cloud AI classification, analysis and optional automatic memory requests
  • OpenAI (OpenAI API) for Cloud AI project analysis requests
  • Polar for paid subscription checkout and billing records
  • Resend for transactional email when configured
  • Cloudflare Turnstile for abuse prevention when enabled
  • GitHub Releases for public Mac app downloads and update metadata
  • Static hosting and content delivery providers for drifty.so

These third parties may collect or process information in accordance with their own privacy policies and terms.

Data sharing and disclosure

We do not sell personal information to data brokers or advertisers. We may disclose information:

  • To service providers and infrastructure partners that help operate the Platform
  • To comply with legal obligations or lawful requests
  • To protect our rights, users, systems, or security
  • In connection with a merger, acquisition, financing, restructuring, or sale of assets
  • With your consent or at your direction

Teams (beta)

In the Teams beta, people can share part of their drifty records with a team they join. The team's organization administrators choose what the team receives; the app shows those choices before anyone joins and in the team's settings, and each person's own computer sends only what those choices allow. Only records inside the team's recording hours, and from after a person joined, are shared.

Depending on those choices, a team may receive:

  • Project time: the time a person spent on each of the team's projects, per day, as a team total or per person.
  • Focus time: a person's focus time per day, as a team total or per person.
  • Work titles: the names of the blocks in a person's own day in drifty, such as "Pricing page copy", per day or with their times. A name may be written by drifty's AI from the titles of the windows and pages the person used, or by the person. Only the name is shared, never the block's description or the apps, sites, window titles, or page addresses it came from. Renaming or hiding a block in Your Day changes or removes its name at the next share.
  • Time of day: when those blocks happened, which team project each belonged to, and whether it was focus, where the team shares an item by time.

Apps and sites, window titles, page addresses, drift time, personal notes, and records outside the team's hours are never shared with a team. Organization administrators, and team managers given access to individuals, can see each person's shared records; other managers see team totals; members see their own records and, where the team allows, the team's totals.

Turning an item off deletes what was stored for it. When someone leaves or is removed from a team, their work titles and time-of-day blocks are deleted; the project and focus time they already shared stays with the team until an organization administrator deletes it. Deleting the team or the drifty account deletes all of it.

Team invitations by email

When a team member invites someone by email, drifty stores that email address with the invitation, together with the account that sent it, so it can send the invitation through Resend and show it in the app to the person who signs in with that address. The invitation email names the team and the sender's email address. People who can invite to the team can see the invited addresses and the status of each invitation.

Anyone who has an invitation link can open it. Before joining, the app shows what the team shares and, when the signed-in account does not use the invited address, which address the invitation was sent to. An invitation and its email address are deleted 30 days after the invitation is accepted, cancelled, or expires, or sooner when the team is deleted.

Data retention

We retain information for as long as reasonably necessary to provide the Platform, comply with legal obligations, resolve disputes, enforce agreements, and improve our services.

Local tracker data remains on your device unless you delete it, export it, or use a feature that shares or syncs data as described in this Privacy Policy. Pausing sync stops future sync without deleting the cloud copy; the local database remains the source of truth. You can purge the private account-scoped cloud copy through the in-app device-sync controls, including after paid access ends, or through the applicable account-deletion process.

If all trial, Pro subscription, and qualifying Enterprise seat access ends, the device-sync cloud copy is retained for 60 days and then automatically deleted. Restoring qualifying access during those 60 days cancels the scheduled deletion. Local tracker records remain on each computer.

Approximate iPhone time sent from the iPhone follows the same purge, 60-day, and account-deletion rules, and turning off sending deletes it. The marks it is made from stay on the iPhone for eight days.

Local intervention and cat-interaction measurement records are kept on the device and pruned toward a ceiling of 90 days or 10,000 records per ledger.

Our current PostHog plan retains desktop product analytics events and keeps them queryable for up to 7 years from collection. Disabling product analytics stops future transmission but does not retroactively delete previously sent events. Because most desktop events use an install-scoped identifier rather than the source account identifier, deleting a drifty account does not automatically delete those prior events. You may contact support@drifty.so about a deletion request, which we will process where the relevant analytics can be identified.

Cloud account, billing, profile, support, and opt-in aggregate data may be retained according to the purpose for which it was collected.

We keep AI request records, activity records, and Chat conversations for as long as reasonably necessary for the purposes described in this Privacy Policy, and then delete, de-identify, or aggregate them. De-identified or aggregated information may be retained without a set time limit. Information that has been used to train AI or machine learning models may remain reflected in those models after the underlying data is deleted.

Records shared with a team are kept while the team exists and are deleted as described in Teams (beta).

Email addresses stored for team invitations are deleted 30 days after the invitation is accepted, cancelled, or expires.

You may request deletion of your account by contacting support.

Security

We implement commercially reasonable administrative, technical, and organizational safeguards designed to protect information from unauthorized access, disclosure, alteration, or destruction.

However, no method of electronic storage or transmission over the internet is completely secure, and we cannot guarantee absolute security.

International users

drifty operates globally. Your information may be transferred to and processed in countries other than your own, which may have different data protection laws.

Desktop product analytics

  • Recipient and location: PostHog, Inc., United States (US Cloud in Virginia)
  • Timing and method: by encrypted HTTPS when a named event occurs and, for the bounded cat-effect summary, at most once per reporting day
  • Information: the random analytics install identifier, limited app/build/platform metadata, allowlisted named events, and the bounded previous-day summary described above
  • Purpose: product quality, reliability, adoption, and feature-effect measurement
  • Analytics retention period: up to 7 years from collection under the current PostHog plan
  • How to refuse: disable product analytics in Settings → Privacy; core app functionality remains available

Product update email

  • Recipient and location: PostHog, Inc., United States (US Cloud in Virginia)
  • Timing and method: by encrypted HTTPS while you use the app signed in and when your plan changes
  • Information: email address, name, platform, plan, sign-up date and last day of use
  • Purpose: sending product updates and announcements
  • Retention period: until you ask us to delete it
  • How to refuse: use the unsubscribe link in any update email or contact support@drifty.so

Children's privacy

The Platform is not directed toward children under the age required by applicable law in their jurisdiction. We do not knowingly collect personal information from children in violation of applicable law.

If you believe a child has provided personal information to us unlawfully, please contact us and we will take reasonable steps to remove such information.

Your privacy rights

Depending on your location, you may have rights under applicable privacy laws, including the right to:

  • Access personal information
  • Correct inaccurate information
  • Request deletion of personal information
  • Object to certain processing activities
  • Request data portability
  • Withdraw consent where applicable

To exercise these rights, contact support.

Changes to this privacy policy

We may update this Privacy Policy from time to time. If material changes are made, we may notify users through the Platform, by email, or by updating the Effective Date above.

Continued use of the Platform after changes become effective constitutes acceptance of the revised Privacy Policy.

Change history

  • November 11, 2026: Described optional automatic memory in Developer settings, visible-text processing, local retention and Markdown copies, and engine/model downloads.
  • November 9, 2026: Described connecting an AI assistant such as ChatGPT: the daily summaries it can read, what it cannot read, the connection details drifty keeps, and how to disconnect.
  • November 6, 2026: Described the Teams beta: what a team may receive (project time, focus time, work titles, and time of day), only from inside the team's hours and after joining; who on the team can see it; and when it is deleted. Removed the earlier note that team features were planned.
  • October 30, 2026: Described the PostHog profile used to send product updates, and how to unsubscribe or ask for its deletion.
  • October 29, 2026: Described team invitations by email: the invited address and the sending account are stored with the invitation, the invitation is sent through Resend, and both are deleted 30 days after the invitation is accepted, cancelled, or expires.
  • October 26, 2026: Described optional screen recording: off by default, the supported apps, encrypted storage on the computer, 24-hour deletion, and that saved screens are not uploaded or used for AI classification.
  • October 26, 2026: Added OpenAI (OpenAI API) as a provider that processes Cloud AI project analysis requests, and described activity records that the desktop app may send to improve drifty's AI features. We also described API keys for reading your own synced activity.
  • October 24, 2026: Described Chat, including conversations with connected agents such as Codex or Claude Code, and its storage under the product analytics setting. Clarified that drifty may use data, including AI requests and results and Chat conversations, to train, evaluate, and improve its AI models, and updated the descriptions of on-screen context, AI request storage, and retention.
  • October 18, 2026: Added the drifty iPhone app: Sign in with Apple, Screen Time features that stay on the iPhone, the optional sending of approximate iPhone time to your computer, and reading synced computer activity on the iPhone.
  • October 16, 2026: Described the category, productivity, and project descriptions and names that AI classification may send, and added category settings to what Device Sync includes.
  • October 10, 2026: Added Anthropic (Claude API) as a provider that processes Cloud AI classification and analysis requests.
  • October 10, 2026: Updated Device Sync for Mac and Windows, its per-computer opt-in, sync scope, and 60-day cloud retention after qualifying access ends.
  • September 13, 2026: Documented the paid Device Sync Preview and its controls, and corrected the desktop product analytics retention period to match the current PostHog plan of up to 7 years from collection.
  • September 2, 2026: Documented the optional Google Calendar connection, its limited read scope and event fields, local Keychain credential storage, local processing boundary, and disconnect behavior.
  • September 1, 2026: Clarified that desktop product analytics is enabled by default and can be disabled, documented the bounded previous-day cat-effect summary, its exclusions, retention, and PostHog processing location.
  • July 31, 2026: Published the previous version of this Privacy Policy.

Contact us

If you have any questions about this Privacy Policy or our data practices, please contact support.