Final Frame

Privacy Policy

Version 1.27 · Effective October 20, 2026

1. Who we are and what this covers

Final Frame is a trade name of Highland Park Electric Co, Inc., a California corporation (“we”, “us”). This policy covers the Final Frame macOS application (the “App”) and the service at finalframe.cc (the “Service”), including its marketing pages. It is part of the Terms of Service, and words defined there mean the same here.

Two kinds of data pass through Final Frame, and we treat them differently. Data about you, our customer, we hold as the controller: your account, your billing, your security activity. Data about the people in your credits, and about the collaborators you invite, you hold as the controller and we process on your instructions. Section 5 explains what that means for someone named in a roll.

2. The App, and what it sends

2.1 Nothing, until you ask it to

The App has no analytics, no telemetry, no crash reporter and no usage tracking. It does not phone home about what you build. Your projects, revision history, style templates and renders stay in ~/Library/Application Support/Final Frame and in the folders you choose, on your Mac.

2.2 The connections it does make

2.3 What stays on your Mac

Fonts. The App reads every font installed for your user, including fonts synced by Adobe Creative Cloud, so your credits render in the typeface you chose. Font files are loaded into the App and never leave your Mac; only the family name is saved in a project. Spell check reads the macOS word list at /usr/share/dict/words and sends nothing anywhere. The App keeps a cached copy of the answer to “is this account entitled to a clean render”, stamped with the account it belongs to and readable only by your user.

Call sheets, crew lists, spreadsheets and music files. Files you check against a project are read on your Mac, and the files themselves are never uploaded, music cue sheets, music logs, clearance logs and audio files included. For each person added to a project that is online, up to three lines naming them are kept as clips, as Publishing and syncing describes; nothing else of the page goes with them. From an audio file only the song details written into it are read, never its sound. A picture or a scanned PDF is read with the text recognition built into macOS, on your Mac, and the picture itself is never uploaded either. What each file read is cached on your Mac, keyed by a fingerprint of the file, which makes the same file instant the next time. A record of the files checked, the answers you gave, the people added and left out, and the corrections made to those credits since is saved in the project file, and so is the Sources record: for each name, which files mentioned it and under which titles and spellings, and for each credit, who added or changed it and when. To show a file again from Sources, the App looks for it on your Mac by name with Spotlight, or asks you to choose it, and checks its fingerprint before showing it; nothing about the file or the search leaves your Mac. When a file lists a person's email address on that person's row, the App keeps the address in the project file too, to offer it when you ask that person to verify their credit. It never goes online with the project, and reaches us only as the address of an ask you send (Section 5.1).

Contacts. When you ask people to verify their credits and the files gave no address for someone, the App can look that name up in your Mac's Contacts, once you allow it when macOS asks. It reads only the email addresses of the contacts with that name and offers them to you. It keeps nothing, and an address leaves your Mac only as the address of an ask you send. Your address book is never uploaded or copied.

3. What we collect on the Service

3.1 What you give us

3.2 What we record automatically

3.3 Cookies and local storage

The Service sets one cookie, ff_gate, while the site is pre-launch: it holds a hash of the shared site password for 30 days so you are not asked again. It is strictly necessary and carries nothing about you. The checkout page, and no other page, loads Stripe.js from Stripe to take the payment: Stripe sets its own cookies there (__stripe_mid and __stripe_sid) and collects device and browsing signals on that page to prevent fraud, under Stripe's privacy policy. They are strictly necessary for paying. There are no advertising or tracking cookies. The site counts page views with Vercel Web Analytics, whose script is served from finalframe.cc itself rather than from anyone else: it sets no cookie, stores no identifier for you, and cannot follow you to another site. What it records is the page, where the visit came from, the country, and the kind of browser and device, which tells us which pages are read and nothing about who read them. It does not run on this page or on the Terms. The sign-in page loads nothing from Google: choosing to sign in with Google sends you to Google's own site and back, and is the only point at which Google is involved. The signed-in app keeps your session token, your guest name, your theme, a column width, a guides toggle, and a new-project intent in your browser's local storage, none of which are sent to anyone. It also keeps there, for each project, the email addresses the files you checked listed beside people's names, to offer them when you ask someone to verify their credit; an address leaves your browser only as the address of an ask you send (Section 5.1). When you check files against a project, what each file read is kept in your browser's IndexedDB, keyed by a fingerprint of the file, which makes the same file instant the next time; it is not sent anywhere, and clearing the site's data in your browser removes it. The signed-in app loads the Barlow typeface from Google Fonts, which sees the IP address and user agent of that request under Google's privacy policy; the marketing page loads nothing external.

3.4 What we do not collect

We do not use analytics or advertising services, we do not build profiles, we do not track you across sites, we do not sell personal data, and we send product news only to people who ask for it (Section 10.5). Every other email we send is about something you or a collaborator did: an invite, a sign-off request, a published version, a reply to your note, an answer to a credit check you asked for, an application update, a deletion you asked for that could not go ahead, or an account security notice.

4. How we use it, and on what basis

To administer the Service, our staff can see an account's email address, name, plan, when it joined and last signed in, which productions it owns by name, and its security activity. From there they can give free access, sign an account out, suspend it for abuse, and schedule it to be closed, with the same 30 days and the same protections for other people's work as closing it yourself. Every such action is recorded with a reason, and the ones done to your account appear in your own security activity. Staff do not open your projects.

We use what we collect to run the App and the Service for you: to sign you in and keep your account secure; to store, sync and display your projects to you and your collaborators; to render, review and record sign-off; to decide whether a render carries the render mark; to take payment and issue invoices; to review student applications; to answer your messages; to send the transactional emails listed above, and product news to people who asked for it; to prevent abuse and enforce the Terms; and to meet legal obligations such as tax records.

Where the GDPR or UK GDPR applies, our legal bases are: performance of our contract with you (the account, the projects, the payments, the emails the Service is designed to send); our legitimate interests in security, abuse prevention, record-keeping and improving the product, balanced against your rights; consent, for product news and wherever else we ask for it; and legal obligation, for tax and accounting records. We do not make automated decisions with legal or similarly significant effects about you. The compliance check produces advisory findings about a document, not decisions about a person.

5. People named in credits, and collaborators

A credit roll is a list of people. When one is online you are giving us personal data about cast, crew, vendors and rights holders, and when you invite someone you are giving us their email address. For that data you are the controller and we are your processor. That means:

5.1 Verifying a credit with the person it names

An editor on a project with a paid plan can ask a person named in the credits to check their own credit, one credit at a time or a whole section or roll at once. On the editor's instruction we email each person, once for each ask, at the address the editor gives. The editor may add a short note, which goes in that email and is not kept. We keep that address, the credit as it was asked about, when it was asked and any reply-by date, the person's answer (that it looks right, the spelling they asked for, or that it is not them), any comment they leave, and when they answered. The person needs no account, and the link shows them only their own credit and the name of the production. The link works for 30 days, and an answer cannot be changed once it is sent. A spelling they ask for is added to the project as a change waiting to be merged, like any other edit, unless the credit has been changed to a different name since they were asked; then it is kept with their answer and shown beside the credit. When they answer, we email the editor who asked, once, with the answer and any comment. The project's editors can see the address and the comment; everyone on the project can see how the credit was answered. If the person says the credit is not theirs, that production does not email that address again. For this data too you are the controller and we are your processor, and a person who was asked can write to the production, or to us, as this section describes.

If you need a signed data-processing agreement for your production or company, write to us and we will provide one on these terms.

6. Who we share it with

6.1 Service providers

We use a small number of providers, each of which processes data only to provide its service to us:

ProviderWhat it doesWhat it holds
SupabaseDatabase, authentication, file storage (including App updates) and live updates, in the United States (us-east-1)Everything in Section 3, including passwords as hashes, two-factor secrets, session addresses, and review videos
VercelHosts the site, the App's update check, and runs our server functions and nightly jobsRequest metadata in transit, and the content of contact messages and notification emails as they are sent
StripeTakes payment on our checkout page, works out sales tax, issues invoices, runs the billing portalYour email, billing address, card details, purchase history, the production name on a licence invoice, and fraud-prevention signals from the checkout page
ResendSends our email, including sign-in codes and links, and product news to those who asked for itRecipient addresses and the content of each email
ffmpeg.martin-riedl.deServes the FFmpeg encoder the App downloads onceThe IP address of that download
Google FontsServes the typeface used by the signed-in web appThe IP address and user agent of the font request
GoogleSigns you in, if you choose to sign in with Google rather than with an email addressThat you have an account with us, and when you sign in. Google tells us your Google account identifier, your email address, your name and a link to your profile picture; we never receive your Google password, and we ask for nothing else in your Google account
Vercel Web AnalyticsCounts page views so we know which pages are readThe page, the page it was reached from, the country, and the kind of browser and device. No cookie, no identifier for you, nothing tied to your account
Have I Been PwnedAnswers whether a password hash prefix is in a known breachA five-character prefix of a hash of a new password, never the password

6.2 Your collaborators

People on a project see each other's display names, the address of each named invitee, comment bylines, staged edits and who made them, the Sources record described in Section 3.1, approvals and who gave them, and the view log as Section 3.2 describes. A guest is shown by the name they gave. Nobody outside a project can see it; a share link is the only way in, and an owner can revoke one at any time.

6.3 When the law requires

We disclose personal data when we believe in good faith that the law requires it, to respond to a valid legal process, to protect the rights, property or safety of anyone, or to enforce the Terms. We will tell you before disclosing your data in response to legal process unless the law or the process forbids it.

6.4 If the business changes hands

If we are acquired, merge, or sell the product, personal data may be transferred to the successor under this policy. We will tell you by email and on the site before any different policy applies.

We do not sell personal data, and we do not share it for cross-context behavioural advertising.

7. Where data lives, and international transfers

The Service is hosted in the United States and our providers process data there. If you use it from the European Economic Area, the United Kingdom, Switzerland or another jurisdiction with data-transfer rules, your data is transferred to the United States. We rely on our providers' commitments, including the EU Standard Contractual Clauses and the UK Addendum where applicable, and on the necessity of the transfer to perform our contract with you. Write to us for details of the safeguards in place.

8. How long we keep it

8.1 While your account is open

We keep your account data, your projects, their Versions, review videos, comments, approvals, staged edits, intake memory, sources, credit verifications, security activity and view logs for as long as your account is open and the project exists. A project you delete is kept for 14 days, in which you can keep it, and is then deleted by a nightly job. Deleting a project deletes its document, Versions, staged edits, intake memory, sources, credit verifications, comments, approvals and review videos; the nightly job also removes any video whose project no longer exists.

8.2 Closing your account

You can schedule deletion from the account page. It completes 30 days later, and you can cancel it at any time before that. It is refused, and the page says why, while a project you own has other collaborators or an approved Version, or while a subscription is active, because those are records other people rely on. If, on the day it is due, a project you own has gained collaborators or an approved Version, or a subscription is active, deletion is cancelled instead and we email you what stopped it. On completion we delete your authentication record, profile, projects, Versions, videos, memberships, security activity, two-factor data, student application and Mac presence.

8.3 What survives, and why

8.4 The App

Nothing on your Mac is deleted by closing an account. When a project is deleted, in the App, on the site or with its owner's account, the App removes its copy and that copy's revision history from each Mac signed in to an account that holds one, the next time it looks. To know, it sends the Service the ids of the projects it holds copies of and is told which no longer exist. Leaving a project in the App removes the copy on that Mac. Renders you exported are never touched. Signing out of the App purges the cached entitlement answer. Uninstall the App and delete ~/Library/Application Support/Final Frame to remove everything it kept.

9. Security

Every request to the database is checked against row-level access rules that run inside the database itself; there is no server of ours in between that could be misconfigured. Passwords are hashed and checked against breaches, sessions time out, two-factor authentication is available with recovery codes, and destructive actions ask you to re-prove yourself. Review videos live in a private bucket and are served through short-lived signed links. Data is encrypted in transit and at rest by our providers. The App keeps its cached entitlement and its upload credentials in files readable only by your user, and update packages are verified against a signing key before they install.

No system is perfectly secure, and we do not promise that ours is. If we learn of a breach affecting your personal data we will tell you and any regulator the law requires, without undue delay. Report a security concern to the address in Section 13.

10. Your rights and choices

10.1 Built into the account page

10.2 Other rights

Depending on where you live you may also have the right to object to or restrict processing, to withdraw consent, to know what we hold and to whom we have disclosed it, and to complain to a supervisory authority. To exercise any of these, write to us at the address in Section 13. We answer within 30 days, or sooner where the law requires, and we may ask you to confirm you control the account. We do not discriminate against anyone for exercising a right.

10.3 California

If you are a California resident, the California Consumer Privacy Act gives you the right to know the categories and specific pieces of personal information we collect, the sources, the purposes, and the categories of third parties we disclose it to, all of which this policy sets out; to delete it; to correct it; and to not be discriminated against. In the past twelve months we have collected the categories in Section 3, identifiers, commercial information, internet activity in the form of sign-in and view logs, and the content you provide, and disclosed them to the service providers in Section 6 for business purposes only. We do not sell or share personal information as those terms are defined in the CCPA, and we do not knowingly collect personal information of consumers under 16. You may use an authorised agent to make a request; we will ask the agent for proof of authority and may ask you to confirm it.

10.4 Europe and the United Kingdom

If you are in the EEA, the UK or Switzerland, you may lodge a complaint with your local data protection authority. We would rather hear from you first. We have not appointed a representative in the EU or the UK; write to us directly.

10.5 Choices

Using the App needs an account, and every project you make in it is put online. You can decline two-factor authentication, though we recommend it. You can leave a project you were invited to. Product news is sent only if you ask for it: a box, unticked, when you sign up, a switch on the account page you can change at any time, and an unsubscribe link in every issue. Transactional email cannot be turned off while your account is open, because it is how the Service tells you what happened.

11. Children

Final Frame is a professional tool. It is not directed to children, we do not knowingly collect personal data from anyone under 16, and an account holder must be at least 18. If you believe a child has given us personal data, write to us and we will delete it.

12. Changes to this policy

We may change this policy. For a material change we will give at least 30 days' notice by email to the address on your account, and the App and the Service will ask you to accept the new version. The version and date at the top of https://www.finalframe.cc/privacy always show the current revision.

13. Contact

Privacy questions and requests: hello@finalframe.cc, or https://www.finalframe.cc/contact. Highland Park Electric Co, Inc., a California corporation, doing business as Final Frame.