Pure Alacrityby D.C. Alacrity

Legal

Privacy Policy

Effective 7 October 2026 · Version 6.4 · Applies to Pure Alacrity on pure.dcalacrity.com and dcalacrity.com/pure, the downloadable single-file app, the Android app and the desktop app.

The short version: your work lives on your device. It leaves only when you turn on a feature that sends it, such as Cloud Mode, Google Drive, Google Calendar, a live room or an AI provider. We collect a small amount of anonymous usage statistics, which never include your content, and you can switch them off. We don't sell or share personal data, show ads, or use your data or Google user data to train AI models.

Contents

  1. Who we are
  2. What we collect and why
  3. Google user data
  4. How we use information
  5. Sharing and disclosure
  6. Cookies and browser storage
  7. Retention
  8. Security
  9. Your choices and rights
  10. International transfers
  11. Children
  12. Changes to this policy
  13. Contact

1. Who we are

Pure Alacrity ("the app") is a production management app for film, TV and video. D.C. Alacrity ("we", "us") builds and operates it. D.C. Alacrity is the data controller for the limited personal data described here that reaches our servers. For the work you keep on your own device, you are in control. If you store other people's details in the app, such as cast, crew, clients or contacts, you decide what to keep about them and you answer their requests.

Contact: pure@dcalacrity.com.

2. What we collect and why

2.1 Your work: device storage and optional cloud sync

Scripts, breakdowns, schedules, budgets, call sheets, shot lists, storyboards, contacts, notes and settings are stored in your web browser's storage (localStorage and IndexedDB) on your device. Device-only work is not sent to our servers. Cloud Mode and explicit sharing transmit authorized copies to Firebase as described below. Privileged infrastructure operators can technically access unencrypted cloud content; account administration alone does not authorize content review. Device copies stay until you delete them or clear the site data. Device features work without an account.

To protect against mistakes and device problems, the app also keeps rolling, compressed backups of each production in your browser's storage on your device: the last 20, one a day for 30 days, and one a week for 26 weeks. Offline-workspace work set aside when you switch to Cloud Mode stays on the device for 7 days. Ending a local session removes these backups.

Details you keep about cast and crew

If you record other people's details in the app, you decide what to keep and you answer their requests. These include:

The app treats the sensitive ones with extra care:

2.2 Account information (only if you use Cloud Mode)

If you choose Cloud Mode, you sign in with Google through Google Firebase Authentication. We receive your name, email address, profile picture URL and a Firebase user ID. We use them only to identify you and give you your own private cloud space. Your productions and workspace are then synced through the Firebase Realtime Database and Firebase Storage, so they follow you across your devices. The app initializes Firebase App Check using reCAPTCHA v3. Its enforcement is configured separately for Firebase services; it does not replace account or production permissions.

2.3 Live rooms and shared productions

When you join or host a live room or a shared production, what people post in it is held in the Firebase Realtime Database for its members. That includes names, departments, notes, takes, votes and who is connected. Rooms without an account use an anonymous Firebase sign-in. Your presence is removed when you disconnect.

Sharing a production works like a shared document. The owner invites people by email or turns on a join code, and gives each person an access level: viewer, commenter or editor. The owner can also close areas such as the budget, contracts or contact details to some levels or people. To make this work, the following is stored for the shared production:

WhatWho can see itKept until
Invitations: the invited person's email addressThe owner, editors the owner allows to share, and the invited accountAccepted, declined or withdrawn, or the shared copy is deleted
Membership: name (from the Google profile or typed when joining), crew role, department and access level. No email address.All membersThe person is removed or leaves, or the shared copy is deleted
Presence: name, colour, access level, the page someone is on and, in the script, the line or sceneMembersThe connection ends, or the person leaves or is removed
Comments and @mentions, and suggested edits to the scriptMembers who can read that areaDeleted by the author, an editor or the owner, or the shared copy is deleted. A removed member's comments stay under their name.
Activity log: who changed what, and when. Email addresses are masked.The owner and editorsPruned by the owner, or the shared copy is deleted
Requests for access: name, message, and the email address if signed in with GoogleThe requester, the owner and editors who can shareRemoved, or the shared copy is deleted
Blocked list and ownership transfer offers: user IDs onlyThe owner and editors who can share; the person concernedCleared, or the shared copy is deleted

Emergency contacts, allergy and medical notes, and measurements never leave the device that holds them: not to a shared production, presence, comments or the activity log. The Google Calendar cache, Calendar publishing state and Drive file details are never put in a shared production either. When the owner chooses Stop sharing and delete the shared copy, the shared copy is removed from the cloud; copies already on members' devices stay there.

2.4 Optional product analytics (pseudonymous event records)

Only after you explicitly consent in Settings → Privacy or onboarding, the app sends approved usage events to our own server (/api/collect on this site), which stores them in Cloudflare Workers Analytics Engine. The server can also forward the same minimized records to PostHog when that service is configured and enabled. These are pseudonymous records, distinct from the aggregate statistics shown in reports. An event contains:

Our server adds the country derived from the connection. The IP address itself is not stored with the events.

Events never contain:

Usage statistics are off until you choose in the EU, UK, Switzerland, Canada, Brazil, China and South Korea. They are also off when your browser sends Global Privacy Control or Do Not Track. You can switch them off at any time in Settings → Privacy.

PostHog: configured product analytics is sent by our server using a fixed event schema. No PostHog browser SDK, session replay, heatmaps, automatic click capture, advertising cookies, automatic person identification, full URLs, Google user data, raw exceptions, scripts, audio or transcripts are collected. The server does not forward your IP address, browser headers or account identity to PostHog. PostHog still receives connection information from our server. US hosting is the default configuration; enabling a project requires verification of its region, processing terms and retention setting. US hosting alone is not a compliance guarantee.

Retention and deletion: PostHog capture remains disabled until the operator verifies event retention of no more than 90 days and tests deletion procedures. Opt-out stops future optional capture; it cannot recall events already delivered. Before clearing the device record, export the usage record to retain its random usage reference. Contact pure@dcalacrity.com to request deletion of any associated provider records. We cannot match pseudonymous usage references to your Google account automatically. Deletion procedures cover PostHog as well as our other providers; retained backups and aggregate reports require separate review.

2.5 Technical data when you load the site

Like any website, our host Cloudflare receives your IP address and ordinary browser headers when you load the app. The app arrives as a small page plus code files, all from this site (pure.dcalacrity.com, or dcalacrity.com/pure). Some load as the app starts; others load the first time you open the part of the app that needs them. After your first visit, your browser keeps a copy of all of them on your device, so the app opens and works offline. To remove that saved copy, use your browser's site settings for this site (Clear data), or Settings → Privacy → Erase in the app. Our Worker diagnostics record a fixed reason and route category, without raw IP addresses, URLs, user data or request bodies. Cloudflare hosting and security logs can separately include IP addresses, paths, browser headers, security actions and request identifiers. We use this to protect the service from abuse. Fonts load from Google Fonts. Some header photos load from images.unsplash.com. The PDF reader, PDF writer and text recognition are served from this site. Public code CDNs (cdnjs, jsDelivr, unpkg) are used only if that fails, or by the optional Word-document reader and on-device AI, the first time they are used. These requests carry your IP address and ordinary browser headers, but no production data.

2.6 Services you choose to connect

Some features send data to a service you pick. They run only after you turn them on:

3. Google user data

This section covers what Google user data the Pure Alacrity app, made by D.C. Alacrity, accesses. It also explains how the app uses, stores, protects, shares, keeps and deletes that data. Each Google connection is optional and starts only when you choose it, and each feature asks Google only for the permission (scope) it needs.

3.1 What Google user data we access

Google service and scopeData accessedHow it is usedWhere it is stored
Google Sign-In (through Firebase Authentication): openid, email, profile Your name, email address, profile picture URL and Google account ID. To sign you in to Cloud Mode and keep your cloud space private to you. Firebase Authentication. Your name and email are also shown in the app on your device.
Google Drive: https://www.googleapis.com/auth/drive.file Only files the app created in your Drive (your backups), and files you pick yourself in Google's file picker. The app cannot list, read or change any other file in your Drive. To save and restore backup files on your request or on the auto-backup interval you set. It also opens a file you picked so you can import it into a production. For a picked file the app keeps its Drive ID, name, type and size with the production on your device. Backups stay in your own Google Drive. Imported content becomes part of your production on your device (and in Cloud Mode if you use it).
Google Calendar: https://www.googleapis.com/auth/calendar.events Events on the calendars you choose to use with the app. To publish the shoot days, milestones and events you choose to a calendar you pick, and to update or remove those events when you change them in the app. It also displays your events from the calendars you turn on next to your production schedule. That lets you spot conflicts and create, move or edit events from the app's calendar when you choose to. Published events live in your Google Calendar. Events read from Google are cached only on your device, are not uploaded to our servers or to Cloud Mode, and are deleted from the device when you disconnect Google Calendar.
Google Calendar list: https://www.googleapis.com/auth/calendar.calendarlist.readonly The names, colours and access levels of your calendars. To let you choose which calendar to publish to and which calendars to show. On your device only.
YouTube upload: https://www.googleapis.com/auth/youtube.upload Permission to upload a video to your YouTube channel. The app reads nothing with it. Only when you press Publish to YouTube on an edition: the app uploads the video file you chose, with the title, description, tags, category, privacy setting and made-for-kids answer you entered. New uploads are Private unless you choose otherwise. The video lives on your YouTube channel. The app keeps the video's ID, link, title, privacy setting, channel ID and upload date with that edition, on your device (and in Cloud Mode if you use it), so it can link to the video.
YouTube read-only: https://www.googleapis.com/auth/youtube.readonly Your channel's name and your recent uploads, with their view and like counts. To show My channel (your recent uploads and how they are doing) and to confirm which channel an upload went to. Held only in the open tab's memory while you look at it. Never written to storage or sent to our servers.
YouTube captions: https://www.googleapis.com/auth/youtube.force-ssl Permission to add a caption track to a video. Asked for only when you include captions in an upload. To upload the edition's captions (as an SRT file) to the video you just uploaded. The app does not use this permission to read, change or delete anything else on your channel. The captions live on your video. The app keeps the caption track's ID and language with that edition.

YouTube API Services. The YouTube features use YouTube API Services. By using them you agree to be bound by the YouTube Terms of Service, and Google's handling of the data is covered by the Google Privacy Policy. You can revoke the app's access at any time on the Google security settings page, or with System → Google → Disconnect in the app.

The app requests no other Google scopes. It cannot read your Gmail, your contacts, Drive files it did not create or that you did not pick, or anything on your YouTube channel beyond your uploads list and their statistics.

3.2 How we use Google user data

3.3 How we share, transfer or disclose Google user data

3.4 How we store and protect Google user data

See the Security overview for more.

3.5 How long we keep Google user data, and how to delete it

To disconnect, go to System → Google in the app. That revokes the permission at Google and deletes cached Google data from your device. You can also remove the app's access at myaccount.google.com/permissions. To delete your account and cloud copy, email pure@dcalacrity.com from the address you sign in with (see section 9).

3.6 Limited Use disclosure

Pure Alacrity's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

3.7 Changes to how we use Google user data

If we change how the app accesses, uses, shares or keeps Google user data, we will update this policy and tell you in the app before the change takes effect. Where required, we will ask for your consent again.

4. How we use information

We do not use your data for advertising, and we do not build profiles of you for marketing. We make no automated decisions about you that have legal or similarly significant effects.

5. Sharing and disclosure

We do not sell or rent personal data, and we do not share it for cross-context behavioural advertising. Data reaches these parties only as described:

6. Cookies and browser storage

The app does not use advertising or tracking cookies. It uses your browser's localStorage and IndexedDB to store your work and settings on your device. It uses a service worker to open offline. If you use Cloud Mode, Firebase keeps your sign-in session in your browser until you sign out. Google reCAPTCHA, used by Firebase App Check, may set its own cookies under Google's policies.

Search index. To make ⌘K search and Where is this used instant, the app builds a search index of your productions on your device. It holds the names, titles, roles, descriptions and links between your scenes, people, shots, props, places, days, budget lines and takes. It is kept in the tab's memory, with a copy in your browser's IndexedDB so the next start is fast. It is never sent to our servers, never synced to the cloud, and never included in exports or production files. It leaves out confidential measurements and sizes, allergies and medical notes, phone numbers, email and postal addresses, the Google Calendar cache, the Vault and any access tokens. It is deleted when you erase the workspace or end the local session, and rebuilt from your own data as it changes. Searching All productions covers only the productions stored in this workspace on this device; it never fetches anything from the cloud. A link to an item (#/e/…) carries identifiers only, never names or content.

7. Retention

DataHow long
Your work on your deviceUntil you delete it, erase the workspace or clear your browser's site data.
Cloud backups of a production (Cloud Mode)Under your account, on the same rolling schedule (last 20, daily for 30 days, weekly for 26 weeks). Deleted productions are kept 30 days in Recently deleted, then removed with their backups. Device-only data (Google Calendar cache, Vault keys, tokens) is never included.
Cloud Mode copy and accountUntil you delete the production, or ask us to delete your cloud copy and account (see section 9).
Live-room presenceRemoved when you disconnect. Room content stays with the room for its members until the shared copy is deleted.
Shared production: invitations, membership, comments, suggestions, activity log, access requestsAs in the table in section 2.3. Everything is removed when the owner deletes the shared copy.
Search index (on your device)Kept while you use the workspace and rebuilt as you edit. Deleted when you erase the workspace or end the local session. It never leaves the device.
Google Calendar events cached on your deviceRefreshed while you use the calendar. Deleted when you disconnect Google Calendar or erase the workspace.
Google access tokensHeld in the tab's memory only. They end when you close the tab, and Google makes them expire within about an hour.
Drive backups and published Calendar eventsIn your own Google account, under your control.
Usage statistics on our serverIn Cloudflare Workers Analytics Engine for as long as Cloudflare retains its data points (currently up to three months). The install ID is replaced every 90 days and whenever you switch usage statistics off.
Website security logsAccording to the configured Cloudflare logging products and their retention settings; these logs are separate from optional product analytics.
Emails you send usAs long as needed to answer you, then deleted.

8. Security

All traffic uses HTTPS/TLS. The website sends HSTS and a strict Content Security Policy. Cloud data is protected by Firebase Authentication and database rules that require membership. Google tokens are kept in memory only and limited to the narrowest scopes. Files you seal in the Vault are encrypted with AES-256-GCM. No system is perfectly secure: the rest of your workspace in the browser is protected by your device and browser account, not by app-level encryption. See our Security overview for details and how to report a vulnerability.

9. Your choices and rights

Because your work is on your device, most rights are self-service and immediate:

If you are in the EU, EEA, UK, California or another place with data-protection laws, these choices cover your rights:

You can also complain to your local data-protection authority. We will not discriminate against you for using your rights.

10. International transfers

Our service providers, Cloudflare and Google, process data on servers around the world, including in the United States. Where the law requires it, these transfers rely on the providers' standard contractual clauses and equivalent safeguards.

11. Children

Pure Alacrity is a professional tool. It is not directed at children under 13 (or under 16 where local law sets a higher age), and we do not knowingly collect their personal data. If you believe a child has given us personal data, contact us and we will delete it.

12. Changes to this policy

We will update this page when our practices change, and change the effective date and version above. If a change affects how we use Google user data or other personal data in a material way, we will tell you in the app before it takes effect. Where required, we will ask for your consent.

13. Contact

For questions, requests or complaints about privacy, email D.C. Alacrity at pure@dcalacrity.com.

Take audio on this device

The Take Audio & Transcript module records only after you select a take, acknowledge a production-specific recording policy and grant microphone permission. Audio chunks, take linkage, policy acknowledgments, hashes and human transcript versions are stored on your device. Audio and transcripts are excluded from product analytics. Cloud upload, cloud transcription, paid Concierge services and industry benchmarking are currently unavailable in this release.

The library removes expired local recordings and transcript versions when you open it. You can delete them sooner. A closed browser cannot enforce a timed deletion. The production policy must account for participant notices, contracts, union requirements, permitted recipients and exports. Content hashes do not prove authenticity.