Legal
Privacy
policy.
Effective 17 September 2026
The short version
- We collect what running your screens requires: your email address and name, your content, your screens and their settings, and the screenshots and diagnostics you ask for.
- There is no analytics, no tracking, no advertising and no ad identifier in the phone app or the portal. We have never sold your data or shared it for anyone else’s advertising, and we do not intend to. We do use a small number of suppliers to run the service — they are all named in Who else processes it.
- Your screens cannot see, hear or count the people in front of them. FrameBright never asks an Android box for its camera or its microphone, and there is no code in the player that could use one.
- You can delete your account and everything in it yourself, from inside the FrameBright app — see Deleting your account.
What FrameBright is
FrameBright plays exhibit content — PowerPoint decks, images, video, web pages — on wall-mounted Android screens in museums and galleries, unattended. There are three pieces: a web portal at this domain, a phone app called FrameBright for the staff who look after those screens, and a player that runs on the screens themselves.
This policy covers all three. The people it is about are the museum and gallery staff who hold FrameBright accounts. It is written by the people who operate FrameBright, and “we” means them.
What we collect
Your account
| Data | Why we have it | How long |
|---|---|---|
| Email address | Identifies your account, signs you in, and receives the verification and password-reset links. | Until the account is deleted. |
| The name you type at sign-up | Shown in the portal so colleagues sharing an account know who is who. | Until the account is deleted. |
| Password | Your password itself is never stored. We keep a scrypt hash of it and compare hashes when you sign in. | Until the account is deleted. |
| Sign-in session | Keeps you signed in. The browser holds a random token in an httpOnly cookie; the server stores only its SHA-256 hash, so a copy of our database cannot be used to sign in as you. | 30 days, or until you sign out. |
| Verification and reset links | Confirms your email address and lets you choose a new password. Stored as a hash, single-use. | 30 minutes. |
| A hash of your IP address | Counts failed sign-in and screen-enrolment attempts so neither can be brute-forced. We hash the address rather than storing it — but an IPv4 address is short enough to work backwards from a hash, so we treat this as personal data, not as anonymised data. | One row per client, overwritten on each new attempt. |
Your screens and what you put on them
| Data | Why we have it | How long |
|---|---|---|
| Screens you enrol | The name you give the screen, its model and Android version, a hash of its serial number, and its settings — orientation, volume, kiosk lock, whether remote control is on. | Until you delete the screen. |
| Content you upload | PowerPoint files, images, video, HTML bundles and web addresses. This is your content; we store it so your screens can play it. | Until you delete it. |
| Screenshots of your screens | Taken only when you ask for one — from the portal, or from the remote-control screen in the phone app. They show whatever the screen was displaying, which in a gallery is your own exhibit content. | The 12 most recent images per screen. Older ones have their image data deleted; only the record that a screenshot was taken, and when, remains. |
| Command history | What you asked a screen to do and whether it worked, so a screen that stops responding can be diagnosed. | The 60 most recent commands per screen. |
| Diagnostics you request | A device report, including Android log output, pulled from a screen when you ask for one. | Until the screen is deleted or re-enrolled. |
| Support actions | If FrameBright support pauses or unpauses an account, we record who did it, to which account, and why. | Kept as an audit record. |
The phone app
The phone app asks you for no sensitive permission at any point. It never requests your camera, your location, your photos, your contacts or your microphone, because it does not use any of them — there is no code in it that could.
Android still lists, on the store page, every permission the app and the libraries inside it declare. FrameBright’s list is three, and all three are about reaching the network: INTERNET, ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE. The last two are how the app can tell you it is offline instead of showing you a blank screen. None of them asks you for anything: Android grants them at install and never prompts.
| Data | Why we have it | How long |
|---|---|---|
| Notification registration | Only if you turn on notifications. We store which platform the phone is (iOS or Android), the app version, a label you choose so you can recognise the handset, a one-way digest of the notification token, and the token itself encrypted with AES-256-GCM under a key held only in the deployment environment. | Not applicable yet — no shipped build can register a handset, so no row of this kind exists. When it does: until the registration is revoked, which destroys the encrypted token outright rather than marking it inactive. |
| Your portal session | The app signs in to the same account as the website and shares that session. Nothing separate is stored on our side. | Same 30 days as the website. |
What we don’t collect
These are statements about how the software is actually built, not promises about how we intend to behave:
- No analytics or usage tracking. Neither the portal nor the phone app contains an analytics, attribution or crash-reporting library. Nothing counts your screen views or reports what you clicked.
- No advertising. No ad networks, no advertising identifier, no ad-supported anything.
- No tracking across other apps or websites. We do not know and do not ask what else is on your phone.
- No selling or renting your data, and no sharing it with anyone for their own purposes. The companies listed under Who else processes it handle it only to do the job we ask them to do.
- No location. We do not collect the location of your phone or of your screens. You can name a screen after a room; that name is whatever you typed.
- No payment details. FrameBright does not take payments through the app or the portal, so no card or bank details exist here to leak.
Gallery visitors
If you are a visitor standing in front of a FrameBright screen: the screen collects nothing about you. FrameBright never asks the box for a camera or a microphone and contains no code that could use one; it does not count or measure people, it does not detect phones, and it has no face or presence detection of any kind. It is a display that plays what the curator scheduled.
That is a statement about our software, which is the only part we can speak for. The boxes themselves are ordinary Android hardware bought from third parties, and some models ship with a voice remote that has a microphone in it. FrameBright cannot reach it, and nothing we install turns it on.
If a screen is set up to respond to touch, the taps it receives move the exhibit forward. They are not recorded as a visitor record and are not attributed to a person.
Who else processes it
FrameBright uses a small number of companies to do specific jobs. Each receives only what that job needs, processes it on our instructions, and may not use it for anything of their own:
- Resend — sends the verification and password-reset emails, and therefore receives the email address and the message.
- Expo, and through it Apple’s and Google’s notification services — deliver push notifications to the phone app, and therefore receive the notification token and the text of the alert. This applies only if you turn notifications on.
- DigitalOcean — stores uploaded content and screenshots in an object storage bucket.
- The hosting provider that runs the portal and its database, which necessarily holds everything listed above.
We do not use any other third-party service that receives your data. If that changes, this list changes with it before the change ships.
How long we keep it
The “How long” column in each table above is the real answer for that row. Two of them are worth repeating because they are the ones people ask about:
- Screenshots expire on their own. Each screen keeps its 12 most recent screenshot images. When a thirteenth arrives, the oldest image is deleted from storage and only the record that a screenshot happened, and when, is kept.
- Notifications are not switched on yet. The phone app cannot register a handset for notifications in any build we have shipped, so there is no notification registration to keep or delete. When that changes, this page will say how revoking one works before the feature is available, not after.
Everything that is not on a timer above is kept for as long as your account exists, and goes when the account goes.
Deleting your account
How to delete your FrameBright account and all of its data
Email contact@framebright.com from the address your FrameBright account uses, asking us to delete the account. We will confirm the request, delete it, and tell you when it is done.
Deleting the account deletes everything listed on this page that belongs to it: your account record and password hash, every sign-in session, your albums and every file you uploaded, your screens and their settings, every screenshot image and the records of the ones already expired, device diagnostics, and every notification registration for your phones. Your screens stop playing your content and have to be set up again from scratch to be used.
We keep nothing afterwards except the support-action audit record, which notes that an account was deleted and when. We cannot undo a deletion.
Deleting it yourself, from inside the app
Open the FrameBright app, tap Account in the top bar, and follow Delete this account. It asks you to type a confirmation word and then your password — a signed-in phone alone is not enough for something this permanent — and the deletion happens immediately. There is nothing to wait for and nobody to email.
What happens to your screens. Deleting the account removes their enrolment, so they stop playing within about twenty seconds and have to be paired again with the FrameBright Setup app before they can be used. If a screen is kiosk-locked, unlock it from the control room first: afterwards the only way in is the maintenance PIN pad on the screen itself, and we cannot unlock it for you once the account is gone.
What is not here yet. The button is in the phone app. The web portal does not have one of its own yet, so from a browser the email route above is still the way. We are telling you that rather than describing a button you would go looking for and not find.
You can also delete parts of your data without deleting the account: signing out from the portal or the phone app ends that session and destroys that phone’s notification registration, deleting an album deletes its files from storage, and deleting a screen deletes its command history and diagnostics.
Security
- Everything travels over HTTPS. The phone app talks to exactly one address and will not start if it is pointed anywhere else.
- Passwords are stored as scrypt hashes with cost parameters chosen against OWASP’s password storage guidance, and compared in constant time.
- Session tokens, password-reset tokens, screen enrolment tokens and notification tokens are stored as SHA-256 digests, never in a form that could be replayed from a database copy.
- The one exception is the notification token, which has to be sendable to be useful. It is encrypted with AES-256-GCM under a key that exists only in the running deployment — not in our source code and not in a database backup — and it is kept in a separate table from everything a support session would ever need to read.
- The phone app signs you in on a native screen, not inside the embedded web view, so your password is never typed into a page.
- No system is perfectly secure, and we are not going to tell you this one is.
Children
FrameBright is a tool for museum and gallery staff. It is not directed at children, we do not knowingly create accounts for children, and the screens collect nothing from the visitors in front of them — of any age.
Changes
If this policy changes, the effective date at the top changes with it, and we will email account holders before a change that makes a material difference to what we collect or who receives it takes effect.
Who we are, and on what basis
The controller of the personal data described here is FrameBright Technology Inc., at 1331 Chan Place, Victoria, BC V9B 4J5, Canada. That is the entity to address a request or a complaint to.
Why we are allowed to hold it. Everything in the tables above is processed to give you the service you asked for — running your account and your screens. In UK and EU terms that is performance of a contract with you. Where we keep a record longer than the service strictly needs it, such as a sign-in audit trail, the basis is our legitimate interest in keeping accounts secure, and you can object to it using the contact below.
Where it goes. FrameBright runs on servers in the European Union. Two of the suppliers named in Who else processes it are United States companies, so the data they handle for us is transferred outside the UK and the EEA; those transfers rely on the European Commission’s standard contractual clauses. Nothing is transferred anywhere else.
Your rights. You can ask for a copy of your data, ask us to correct it, ask us to delete it, ask us to restrict what we do with it, object to processing based on legitimate interests, and ask for your data in a portable form. There is no charge and no account penalty for asking.
Contact
For anything in this policy — a question, a correction, a copy of your data, or a deletion request — email Tisha Becker at contact@framebright.com.
If you are in the UK or the EU and are not satisfied with how we have handled a request, you have the right to complain to your national data protection authority.