heft.io
Sign in

Security practices

TL;DR: Data is encrypted in transit. Built-in pageview and session metrics do not persist raw IP addresses or full User-Agent strings. Bunny CDN delivers the analytics app, the public website, and the tracking service, with EU-only processing; application and analytics data live in the EU (Scaleway, France); transactional email goes through Scaleway (France).

Custom event properties are supplied by embedding sites — do not send personal data you are not allowed to process. Backups are taken and access is restricted. Data is not sold or monetised.

Data minimization

Privacy comes first for pageview and session handling: raw IP and full User-Agent strings are not written to storage. Optional tracker opt-out uses a first-party cookie as documented. The data minimization design is described in the Data policy.

How request data is handled

Each request sends the client's IP and User-Agent to the analytics server. A daily session fingerprint is computed as a one-way hash of a server-side salt, the UTC date, the site id, and hashes of IP and User-Agent. The raw IP and User-Agent are never stored in logs, databases, or on disk.

Encryption

Data is encrypted in transit using HTTPS with TLS 1.3 or 1.2 as fallback. Hashing of request data is irreversible; there is no key to "decrypt" it. Encryption and access controls are used for data at rest where applicable.

Where data lives

Bunny CDN wraps the analytics application, the pub website, the tracking infrastructure, and the Google Fonts proxy. Application and analytics data live in the EU on Scaleway (France); the service for authentication and the data API run in that same regional stack. Transactional email goes through Scaleway (France). DNS for heft.io is managed on Scaleway (France).

Data access and backups

Access to systems and data is limited to people who need it to operate and support the service.

Backups are taken regularly and measures are in place to restore availability after an incident. Software development and infrastructure are not outsourced in a way that gives third parties access to account holders' data beyond the subprocessors used.

Subprocessors

A small set of subprocessors is used. The current list is at Subcontractors. They are chosen for security and data protection and are not given access beyond what is needed to provide the service.

Reporting security issues

If a security vulnerability in the service or code is found, it should be reported via the contact options on the site. It will be reviewed and a fix will be worked on. A reasonable time to address it is appreciated before the issue is shared publicly.

Contact

Security questions or concerns? Use the contact options on the site.

Last updated: April 2026

heft.io

Privacy-first Analytics hosted in the EU.

A project by sbstjn.com.

Documentation

  • Tracking API
  • Changelog

Help

  • FAQ
  • Contact

Legal

  • Privacy Policy
  • Data policy
  • Terms of Service
  • DPA
  • Subcontractors
  • Security

© 2026 heft.io — All rights reserved.

Made in the EU with ♥