Help
Privacy and your data
What FaceStream.AI stores, where and for how long, what leaves your network, and how to remove a person entirely.
On this page
FaceStream.AI runs on your hardware. Photos, faces, visits and settings stay in its data folder on that machine; nothing is sent to FaceStream.AI or anybody else unless you set up a connection that sends it. This page lists what is stored, where, for how long, and how to remove it.
What is stored
Everything is in the data folder, /data in a container, /var/lib/facestream on Linux
without Docker, or the folder you mounted on your NAS.
| What | Where | Kept |
|---|---|---|
| Photos of enrolled people | known_faces/, one folder per person, or where FACES_FOLDER points |
Until you delete them |
| The features computed from those photos | encodings.npz |
Only as a cache, rebuilt from the photos. A deleted photo's features are removed when recognition restarts, which deleting triggers |
| Visits: name, camera, times, number of sightings, liveness result | events.db |
As set under Events, 90 days and at most 500 visits by default |
| A face photo and the whole picture of each visit | saved_faces/, or where EVENT_IMAGES_FOLDER points |
The face as long as the visit; the whole picture 14 days by default |
| The delivery log: which message went where, its text, the answer | events.db |
The last 500 |
| Settings, including camera passwords and connection tokens | config.json |
Until you change them |
| The password, stored as a hash, and the key that signs sessions | auth.json |
Until you change them |
FaceStream.AI does not record video. It looks at the stream, and keeps a picture only when it has seen a face.
What leaves your network
| Where to | What | When |
|---|---|---|
| The receivers of your connections | The messages your rules send, with pictures if you chose them | When a rule fires |
| The MQTT broker, with Home Assistant discovery | Every event of every camera, as a message with the name and a link to the photo | On every event |
updates.facestream-ai.com |
A plain request for the list of published versions, no ID, no version, no edition | When FaceStream.AI starts, every six hours, and when somebody opens the interface |
| The licence server | Licence ID, device ID, version and edition, only if your licence requires online activation | When FaceStream.AI starts, then every six hours |
Nothing else: no statistics, no usage data, no pictures. Inside your network, FaceStream.AI connects to the cameras you set up, and the camera search only runs when you open it.
The update check can be switched off: stop FaceStream.AI, add "updates_check": false to
config.json in the data folder, and start it again. FaceStream.AI then never learns of a
new version by itself.
Pictures in messages. A push message or an e-mail with a picture is stored by the
service that carries it, Telegram, Pushover, ntfy.sh, your mail provider. If that should
not happen, send text only, use your own ntfy or mail server, or let the message carry the
link [[image_url]], which only opens where FaceStream.AI's address can be reached.
Links to pictures open without signing in, so that a phone or Home Assistant can load them. They cannot be guessed from a name or a time, but anyone who has a link can open that one picture, like anyone who has a key.
Removing a person entirely
When somebody asks to be forgotten:
- People: Delete the person. Their photos are removed, and with them their features at the restart that follows.
- Events: choose them under Person and delete their visits, the cross at the end of each row removes a visit with its pictures. Or Clear log for everything.
- Elsewhere: messages that were already sent live on in the systems that received them, a chat, a mailbox, a log collector, a Home Assistant history. Remove them there.
The delivery log keeps the text of the last 500 messages; Clear log under Notifications → Recent deliveries empties it.
Before you switch it on
Face recognition processes personal data of a special kind. Some of it is common sense, some is the law where you live, ask your data protection officer or a lawyer before you use it at work, in a shop or in a hotel.
- Enrol only people who know and agree, members of the household, staff who have been told, guests who asked for it.
- Point cameras at your own ground. A zone Never look here keeps the pavement, the street and the neighbour's window out of recognition, see Detection zones.
- Tell people. A sign at the entrance, a line in the privacy notice.
- Keep as little as you need. Short retention under Events; the whole picture only as long as somebody might look at it.
- Protect the installation. A strong password, the interface only in your own network, remote access through a VPN, and backups kept as carefully as the machine itself, they contain every photo.
Backups
A backup of the data folder contains everything above: photos, visits, pictures, passwords of cameras and connections. Store it encrypted, or where only you can reach it. How to make one is in Installation.