Offbeat-IoT · Privacy Policy

Privacy Policy

Last updated: 17 October 2026

Who we are

Offbeat-IoT ("Offbeat-IoT", "we", "us", "our") runs the Offbeat-IoT platform: the service, the public website, the device protocol, and the integrations that connect your devices to third-party cloud services. For the processing described in this policy, Offbeat-IoT is the data controller.

We have not appointed a Data Protection Officer. For any question about this policy, or to exercise your rights, contact us at soerensejr+privacy@gmail.com.

This is a small project. We do not list a registered company name or postal address here; if you need those details to identify the controller, contact us at the address above.

Scope

This policy applies to personal data we process when you:

How the service works, and our role

Offbeat-IoT sits between your device and the cloud services you connect. Your device opens a WebSocket connection to our servers and sends small JSON or CBOR messages. Our backend receives those messages, processes them, and either answers your device directly or calls the connected provider on your behalf and returns the result on the same connection.

Transport to our servers is encrypted with TLS, and we use TLS to talk to the providers. We do not provide end-to-end encryption between your device and a provider: because our backend performs the integration on your behalf, message content is readable by our servers while it is being processed.

For data held at a connected provider, that provider is usually an independent data controller for its own service, and its privacy policy applies to your account there. We only call the provider to carry out the commands and queries you or your device initiate.

Data we process

Account and sign-in

Sign-in and account management are handled by our identity provider (Keycloak). It processes the username, email address, display name and credentials you provide and issues a subject identifier that identifies your account. On our side we keep a small local user record keyed to that subject identifier, and for some features a coarse country derived from your request IP address. We do not store your email address or name in the application database.

Integrations and access tokens

When you link a service, the provider redirects you back to Offbeat-IoT with an authorization code, which we exchange for an access token (and, where the provider issues one, a refresh token). We store these tokens, their expiry and the linked service in our database so we can call the provider for you. Tokens are stored server-side and are not sent to your devices.

Data from connected services

To carry out the commands you or your device send, we read from and, for some services, write to the providers you connect. This can include:

We process provider data to answer your requests and do not keep a copy of provider content such as your calendar entries, tasks or health data points. There are two exceptions where we keep integration-related metadata: Google Calendar "watch" channels (so we can be notified of changes) and a Google Health notification subscription, both of which are removed when you unlink the service.

Some built-in features use third-party services without an account link: the weather feature calls a weather API with the location your device sends, and the time feature can estimate a country from your device's IP address. The encouragement and ponder features use built-in text only.

Devices, settings and telemetry

We also keep a small in-memory buffer of the most recent device events (about fifty per device) so that the user interface and AI assistant can show recent activity. This buffer is not written to disk and is lost when the service restarts.

Webhooks you configure

You can configure webhooks that call a URL you choose when a device event happens. We store the URL and any basic-auth username and password you provide, in order to make the call.

Diagnostics, logs and monitoring

We run the platform on our own servers and monitor it with Prometheus, Grafana and Loki. Our application logs and metrics can include account identifiers, device identifiers and friendly names, IP addresses, and — depending on the configured log level — the content of device messages and integration requests and responses. We do not currently apply automated redaction to these diagnostic records; access to them is limited to the operators of the platform. Some monitoring metrics carry labels such as your username and the device endpoint id or name; the internal monitoring strips the username label before showing metrics to you.

Cookies and website resources

The application sets one session cookie (SESSION) to keep you signed in. It is marked http-only and SameSite=Lax, and is used only for your authenticated session. We do not use advertising or third-party tracking cookies.

Some pages load resources from third-party content networks — for example the Bootstrap stylesheet and Google Charts on certain pages, and provider logos on the landing page. When your browser loads these, the operator of that content network can see your IP address and the page you came from.

Why we use your data, and our legal bases

Where the EU/EEA General Data Protection Regulation (GDPR) or the UK GDPR applies, we rely on:

The EU/EEA GDPR and the UK GDPR are separate regimes, and each applies where it governs your use of the platform. The EU/EEA GDPR does not itself extend to the UK.

Health and other special-category data

The Google Health integration can process health-related information, which may be special-category personal data under Article 9 GDPR (for example activity, sleep, nutrition, symptoms, reproductive health and heart-rhythm data). We rely on your explicit consent for this processing: you choose to connect Google Health, you see the permissions Google asks you to grant, and you can withdraw consent at any time by unlinking the integration. We process this data only to carry out the health commands and queries you or your device initiate, and we do not keep a copy of your health data points.

How long we keep data

Where personal data remains in logs, metrics or backups, it is removed as those are rotated. Backups and their retention are managed as part of our infrastructure.

Deleting and unlinking

Unlinking an integration (in the platform, or in the provider) deletes the linked connection and its tokens from our database and removes the link between that integration and your devices. Where the provider supports it, we also revoke the token at the provider; this is currently done for Todoist. For the other services (Spotify, Google Calendar, Google Health, Alexa and Google Home) we delete the token from our side but do not call a provider revocation endpoint, so you may also want to remove Offbeat-IoT's access in that provider's own settings.

Deleting a device removes the device, its latest values, its integration mappings and its firmware images.

Deleting your account is not currently available as a self-service option. To delete your account and the data associated with it, contact us at soerensejr+privacy@gmail.com. We will delete your account and its data, except for data that remains for a limited period in logs, metrics and backups.

Sharing and international transfers

We share personal data only with the parties needed to run the platform:

The providers we connect (for example Spotify, Google and Todoist) and the assistant platforms (Alexa and Google Home) are generally independent controllers of the data they hold. Some of them process data outside the EU/EEA. Where personal data is transferred internationally, we will put appropriate safeguards in place as required by law.

Your rights

Depending on where you live, you may have the right to:

You can exercise some of these rights directly in the platform (for example by unlinking an integration or deleting a device), or by contacting us at soerensejr+privacy@gmail.com.

Security

We protect personal data with technical and organizational measures, including TLS in transit, access controls and monitoring. No method of transmission or storage is completely secure, and this policy does not promise a particular security outcome. If you become aware of a security problem, please tell us at the contact address above.

Children's privacy

The platform is not directed at children, and we do not knowingly collect personal data from children. If you believe a child has provided us with personal data, contact us and we will delete it.

Changes to this policy

We may update this policy from time to time. We will revise the "last updated" date above and, for significant changes, provide additional notice where appropriate. We encourage you to review this page periodically.

Contact

For questions, requests or complaints about this Privacy Policy or your personal data, contact:

Offbeat-IoT
soerensejr+privacy@gmail.com