Privacy Policy
Last updated 26 August 2026 · Effective 26 August 2026
In short: Kestrel collects nothing. There is no Kestrel account, no analytics, no telemetry and no Kestrel server anywhere. Your camera address, your credentials, your video and your recordings stay on your own devices and your own network. We could not see them if we wanted to. Buying the Roku channel is handled by Roku — we never receive your payment details.
1. Who we are
This policy is issued by Schooley Industries, the publisher of the Kestrel applications — Kestrel for Linux, the Kestrel channel for Roku, and the Kestrel Screensaver for Roku — and of this website at kestrel-app.com.
It explains what those applications do with information, and what this website does. It covers nothing else: your camera hardware, its manufacturer's own apps and cloud services, your Roku device, and any other software you run are governed by their own policies.
2. What we collect
Nothing. We do not collect, receive, store, process, sell or share any personal information through the Kestrel applications.
This is a structural fact rather than a promise about our intentions. Kestrel is client software that runs entirely on your device and talks only to hardware on your own network. We operate no servers for it to report to. There is:
- no Kestrel account, sign-in, licence key or registration;
- no analytics, usage measurement or event reporting;
- no crash or diagnostic reporting;
- no advertising, advertising identifiers, or advertising frameworks;
- no tracking, profiling or fingerprinting of any kind;
- no automatic “check for updates” call to us;
- no cookies or equivalent storage used for tracking.
On the Roku channel this extends to declining Roku's optional marketing pixel, which would report an event to Roku each time you connected to your own NVR. It is not implemented, deliberately.
Buying the app does not change this. Kestrel for Roku is a paid channel, but the purchase happens entirely between you and Roku: Roku takes the payment and records the entitlement on your Roku account. The app itself does not check a licence with us, does not phone home to verify a purchase, and works exactly the same whether or not it can reach the internet. See section 8 for what Roku does with the transaction.
3. What the apps store on your device
Kestrel stores what it needs to reconnect to your equipment next time. All of it stays on the device you installed it on, and none of it is transmitted to us.
Kestrel for Linux
| What | Where |
|---|---|
| The address, system type and username of every device you add, and your preferences | ~/.config/kestrel/config.json, created with owner-only permissions (mode 0600) |
| Your weather settings, if you switch the weather on: the ZIP code you entered and the latitude and longitude it resolved to, or the address of your own weather server, plus your radar preferences | The same config.json. The ZIP code is kept only so the setting can show you what you typed; what is polled with is the coordinate |
| Device passwords | Your desktop's system keyring, via the Secret Service API. If no keyring is available, they fall back to the config file above — the About dialog states which store is actually in use, so this is never silent |
| Snapshots, recordings and downloaded clips | A folder you choose, ~/Videos/Kestrel/ by default |
Kestrel and Kestrel Screensaver for Roku
| What | Where |
|---|---|
| The address, system type, port, username and password of every device you add, and your channel preferences | The Roku registry, which is private to the channel |
| Your weather settings, if you switch the weather on: the ZIP code you entered and the latitude and longitude it resolved to, or the address of your own weather server, plus your radar preferences | The same place. There is no account and no credentials to store either way — a weather server is a URL and nothing else, and the National Weather Service has nothing to log in to |
| Nothing else | The Roku apps write no video, images or logs to storage |
Roku credentials are stored in clear text. The Roku registry is private to the channel and not readable by other channels, but the platform provides no encrypted storage, so the password you enter is held unencrypted. Anyone with your Roku's developer password could read it. We recommend creating a dedicated, non-administrative user on your camera or NVR for Kestrel rather than reusing an administrator account.
The screensaver reads the settings the Kestrel app wrote — it has none of its own, because a screensaver cannot take remote input. This works because the Roku registry is shared between apps signed with the same developer key. No settings are copied off the device to make it happen.
Kestrel HLS
The add-on is optional, and it runs on your own machine beside Home Assistant. It is not a service of ours: we host nothing, see nothing and receive nothing from it.
| What | Where |
|---|---|
| Each paired Roku: the name, model, serial number and channel version it identified itself with, and the token and key material that authorise it | The add-on's own data volume, on your machine |
| Each registered camera: its label, the RTSP addresses the channel built — which contain the camera's username and password — any session headers a system needs, and your per-camera transcoding settings | The same volume. Passwords are redacted from every log line and every API response, so what is written to the log is safe to send us; the stored addresses themselves are not redacted, because they are what it connects with |
| Video segments | A memory-backed filesystem, a few seconds at a time, discarded continuously. They are not written to the machine's permanent storage and are not included in a Home Assistant backup |
4. What the apps send, and where
Everything to do with your cameras goes to your own equipment and nowhere else. There is one exception, and it is the weather: switch that on and Kestrel will contact public weather services directly. It is off by default, it is separate from everything above, and it is set out in full below.
- Your cameras and NVRs. Kestrel sends the requests needed to log in, list cameras, fetch snapshots and video, control PTZ and lights, and read detection state — over your local network, using each system's own documented interface. Each device is contacted separately with its own credentials, and those credentials go to that device and nowhere else.
- Kestrel HLS, if you pair the Roku channel with it. Optional and off by default. Once paired, the channel sends the add-on its camera list over your local network on every connection — the RTSP addresses it has built, including the username and password embedded in them, since the add-on has to log in to the cameras itself — and then requests video from it. All of that stays on your network between two pieces of your own equipment. The add-on contacts your cameras and nothing else: it has no update check, no telemetry and no address of ours to call.
- A third-party HLS restreamer, if you configure one instead. Optional, off by default, and entirely under your control. If you point the Roku channel at a restreamer such as go2rtc, MediaMTX or Frigate, it will request video from the address you gave it. That software is yours; its handling of your video is governed by its own configuration and terms.
- Your own weather server, if you choose that source. Optional and also yours. If you give Kestrel the address of a WeeWX server's JSON document, it fetches that document on a timer — an unauthenticated GET, with no credentials to send and nothing about you in the request. Where that document contains a forecast or weather alerts, your WeeWX server is what obtained them from the National Weather Service, not Kestrel.
-
The National Weather Service, if you use the weather.gov source or the radar.
Optional and off by default, but this is a public service on the internet rather than
equipment of yours, so it is the one place Kestrel goes that you did not install. Both the
Roku channel and the desktop client request, on a timer you set:
-
observations, the forecast and any active alerts from
api.weather.gov, for the coordinate your ZIP code resolved to; -
for the radar, map layers from
mapservices.weather.noaa.govandopengeo.ncep.noaa.gov, and the base map underneath them fromservices.arcgisonline.com, which is Esri's — the same base map radar.weather.gov itself draws under, and the only non-government address anywhere in Kestrel. It is credited wherever the radar is shown.
These requests carry no account, no credentials and no identifier: there is nothing to log in to and nothing of yours to send. What they necessarily reveal is the IP address of the device asking and roughly where you are asking about, because that is what a weather request is. Each of those services keeps its own logs under its own policy, and we receive nothing from any of them.
Your ZIP code is not transmitted. Both apps carry the US Census centroid table and convert the code to a coordinate locally, once, when you type it.
-
observations, the forecast and any active alerts from
There is no destination beyond those. Kestrel does not use any vendor's cloud relay — not Reolink's P2P/UID, not a UniFi cloud account — does not contact any vendor's service, and does not contact any service of ours, because we run none. Every address it connects to is either one you typed in or, if you switch the weather on, one of the public weather services named above. That is true of the desktop client, the Roku channel and the HLS add-on alike.
A note on local network security. These systems authenticate in whatever way their own API specifies — Reolink carries the session token as a URL query parameter, ZoneMinder as a URL parameter, UniFi Protect in a cookie with a CSRF header. Over plain HTTP on your own LAN, that credential — and your camera imagery — is visible to anything able to observe traffic on that network. This is a property of each device's interface rather than of Kestrel, but it is yours to be aware of when deciding who and what shares your network.
Where a device serves HTTPS, the desktop client can use it even though these devices carry self-signed certificates, via a per-device Trust this device's own certificate setting. Be clear about what that buys: the traffic is encrypted, but the certificate is not authenticated, so it protects against passive listening rather than against something impersonating your NVR. The detail is here.
5. Your video and recordings
Your camera footage never reaches us. Live video, snapshots, recordings and downloaded clips travel from your device to the screen you are looking at, across your own network. Anything saved is written to storage you chose, on hardware you own.
We have no copy, no cache, no backup and no means of retrieval. If you delete a recording, it is gone; we cannot restore it.
6. This website
kestrel-app.com is a static site. It sets no cookies, runs no analytics, contains no advertising or tracking scripts, and loads no fonts, scripts or images from third-party services. Nothing you do here is measured, and there is nothing to opt out of.
As with any website, the server that hosts it may keep standard access logs — typically the requesting IP address, timestamp, requested URL, referrer and browser user-agent string — generated automatically by the web server for security and operational purposes such as diagnosing faults and identifying abuse. We do not use these logs to identify individuals, build profiles, or combine them with anything else, and they are not shared with third parties except where a hosting provider processes them on our behalf or where the law requires disclosure.
7. If you email us
If you contact [email protected], we receive whatever you put in your message — your email address, and anything else you choose to include. We use it only to reply to you and to fix the problem you raised, and we keep the correspondence no longer than is useful for that.
Please do not send us camera footage, credentials, or the addresses of your devices. We do not need them to help, and we would rather not hold them. If you send a screenshot for a bug report, blur or crop anything you would not want a stranger to see.
We also do not need — and would rather not receive — payment details or receipts. Refunds for the Roku channel are handled by Roku, as the Terms explain; we have no access to the transaction.
8. Third parties
Inside the applications there is one, and only if you switch the weather on: the map under the
radar is served by Esri (services.arcgisonline.com), reached
without any account or key. The weather services themselves are US government ones — the
National Weather Service and NOAA — rather than commercial third parties.
Section 4 sets out exactly what is requested. Outside the applications:
- App distribution and payment. If you install Kestrel from the Roku Channel Store, Roku handles that transaction and knows you installed it. Kestrel for Roku is a paid app, so for it Roku also acts as the merchant: Roku collects the payment, issues the receipt and records the entitlement against your Roku account. We never receive your card details, billing address, name or Roku account identity. Roku may give us sales and performance reporting about the channel, which arrives as counts and totals rather than as information about identifiable buyers. Roku's own privacy policy governs all of this, along with anything else your Roku device does.
- Web hosting. This site is served by a hosting provider that processes server logs on our behalf, as described above.
- Email. Our email provider processes messages you send us, as any email provider does.
We do not sell personal information, and we do not share it for cross-context behavioural advertising — we have none to sell or share.
9. Security
The strongest security property here is architectural: information that is never collected cannot be breached at our end. There is no Kestrel database to compromise, and no credential store of ours holding your camera passwords.
What remains is on your side, and Kestrel is built to help rather than hinder it: the Linux config file is written with owner-only permissions, passwords go to your system keyring where one exists, and tokens and credentials are redacted from log output and error messages so they do not leak into a terminal or a bug report.
Securing the devices and network Kestrel runs on remains your responsibility — current firmware, a least-privilege camera account, a trustworthy network, and no port-forwarding your NVR to the public internet.
10. Retention and deletion
We retain nothing, so there is nothing on our side to delete. What is stored locally is yours to remove at any time:
-
Linux — delete
~/.config/kestrel/config.jsonand remove the Kestrel entry from your keyring; your media folder is unaffected unless you delete it too. - Roku — choose Forget saved settings in the channel's settings to clear the stored host and credentials, or remove the channel from your device.
Uninstalling the software ends its access to everything.
11. Your rights
Depending on where you live, you may have rights under laws such as the UK and EU GDPR, the California Consumer Privacy Act, or similar legislation — to access, correct, delete or port your personal information, to object to or restrict its processing, and not to be discriminated against for exercising those rights.
Those rights apply to personal information a business holds about you. Because Kestrel collects none, there is in practice nothing for us to produce, correct or erase — and no profile, no sale of information, and no automated decision-making. The exception is any email correspondence you have sent us, and website server logs; you may ask us about those, and ask us to delete correspondence, using the contact address below.
Where we do process such limited information, our lawful basis under the GDPR is our legitimate interest in responding to enquiries and in operating and securing our website. If you are in the UK or EEA and are unhappy with how we have handled a request, you may complain to your national data protection authority.
12. Children
Kestrel is not directed at children, and is not designed or marketed for use by them. We do not knowingly collect information from anyone, children included. If you believe a child has sent us personal information by email, contact us and we will delete it.
13. People your cameras record
Kestrel displays footage your cameras capture, which may include other people. We never see that footage and are not a controller or processor of it — but you may have obligations towards those people under privacy, data protection, employment or tenancy law, including where cameras may point, whether audio may be recorded, what notice or signage is required, and how long footage may be kept.
Meeting those obligations is your responsibility, as set out in the Terms of Service. If you have been recorded by someone else's cameras and want that footage addressed, please contact the camera's owner — we have no access to it and no ability to act on it.
14. Changes to this policy
If Kestrel ever changes in a way that affects this policy, we will update it here and change the date at the top. Should we ever introduce anything that collects information — which we have no plans to do — it would be described here first, and made optional and off by default.
15. Contact
Schooley Industries
[email protected]
For questions about this policy, or to ask about information we may hold from your correspondence, use the address above and mark your message “Privacy”.