Effective date: 23 May 2026
In short: Trefnus Resource sets no HTTP cookies. It uses localStorage, IndexedDB and a Service Worker cache on your own Device to make the Application work and to remember your data offline. We do not use any analytics, tracking, advertising or third-party measurement technology of any kind.
The Application relies on the following browser-storage technologies, all of which are stored on your Device under the origin from which you load the Application:
localStorage — small key/value strings used for licence activation flags, the daily local-password hash, the random device hash, and your record of legal acceptance.IndexedDB — a structured database used for all substantive Application data: resource types, resources, bookings, configuration, map positions and uploaded map images.localStorage — Licence and authentication| Key | Purpose | Duration |
|---|---|---|
trefnus_resource_licence_activated | Flag ("true") indicating this Device has been successfully activated. | Persistent until you clear browser storage or your licence is revoked. |
trefnus_resource_licence_user_id | Supabase user ID associated with this activation, used for offline launches and re-verification. | Persistent until you clear browser storage. |
trefnus_resource_licence_activated_at | ISO 8601 timestamp of first activation on this Device. | Persistent until you clear browser storage. |
trefnus_resource_last_verified | ISO 8601 timestamp of the most recent successful licence verification. Used to allow a bounded 24-hour transient grace window if the licence server is briefly unreachable. | Updated on every successful verification. |
trefnus_resource_device_hash | Random UUID generated locally; identifies this Device to our licence database for the 5-device limit. Not a fingerprint and contains no information about you or your Device. | Persistent until you clear browser storage. |
localStorage — Local daily password| Key | Purpose | Duration |
|---|---|---|
trefnus_resource_pwd_hash | SHA-256 hash (hex) of your daily local password. The cleartext password is never stored or transmitted. | Persistent until you clear browser storage. |
trefnus_resource_pwd_last | The last calendar date (YYYY-MM-DD) on which you entered your daily password, so the daily prompt only fires once per day. | Persistent until you clear browser storage. |
localStorage — Legal acceptance| Key | Purpose | Duration |
|---|---|---|
trefnus_resource_legal_acceptance | JSON record indicating that you ticked the Terms, Privacy and Refund Policy checkboxes during initial setup, with the ISO 8601 timestamp of acceptance. | Persistent until you clear browser storage. |
IndexedDB — Database trefnus-resourceA single IndexedDB database named trefnus-resource (version 2) is created on your Device, containing two object stores:
| Object store | Contents | Duration |
|---|---|---|
assets | Binary blobs such as the map background image you upload. | Persistent until you delete the asset, clear browser storage, or the browser evicts it under storage pressure. |
data | All structured Application data, stored under the keys listed in the table below. | Persistent until you clear browser storage or reset the Application. |
IndexedDB — Data store keys| Key | Purpose |
|---|---|
tr_tab | The most recently active navigation tab (Dashboard, Resources, Settings, etc.). |
tr_types | Your defined resource types, their icons, colours, booking fields and workflows. |
tr_resources | Your individual resource records. |
tr_bookings | Your booking records. |
tr_config | Application configuration (theme, accent colour, terminology, date format, week-start, view defaults). |
tr_positions | Per-resource positions on the Map view. |
tr_keypos | Map key/legend position. |
tr_nodesize | Map node size preference. |
tr_mapzoom | Map zoom preference. |
tr_nodefontscale | Map node font scale preference. |
For backwards compatibility with older versions of the Application, the same keys may transitionally exist in localStorage and are migrated into IndexedDB on first launch of an updated version. The legacy localStorage entries are removed once migration succeeds.
| Cache name | Contents | Duration |
|---|---|---|
trefnus-resource-cache-<version> | Static Application files (index.html, licence.js, manifest.json, favicon, app icons, the legal documents) and pinned CDN libraries (React, Babel, PDF.js, Supabase JavaScript client) so the Application can load while offline. | Replaced when a new version is published. |
trefnus-resource-runtime-<version> | Runtime cache populated as you use the Application, used to serve repeat requests faster and to provide offline fallback. | Replaced when a new version is published. |
The following storage is strictly necessary to operate the Application, enforce your licence, secure your Device with a daily password, and remember the legal terms you have accepted. The Application will not function without it, and no consent is required to use it under the UK Privacy and Electronic Communications Regulations or equivalent EU/EEA law:
The IndexedDB stores listed in 2.4 and 2.5 hold the data you yourself create in the Application. This is your Content. It is not personal data about you that we collect; it is the data the Application is for.
For the avoidance of doubt, the Application does not use any of the following:
You are in full control of the storage the Application uses on your Device. You can:
Clearing site data deletes your local Content. Because all of your resources, bookings, configuration and map images are stored locally, clearing site data is permanent and irreversible. Export your data first if you wish to keep it. See the Disclaimer for our position on data loss.
Strictly necessary storage (Section 3.1) is used on the basis that it is essential for the provision of an information society service explicitly requested by you (Regulation 6(4) of the UK Privacy and Electronic Communications (EC Directive) Regulations 2003 and Article 5(3) of Directive 2002/58/EC). Functional storage (Section 3.2) is data you yourself create on your own Device and does not require a separate legal basis.
We may update this Cookie & Storage Policy from time to time. The updated version will be posted at /legal/cookie-storage-policy.html with a new effective date. Your continued use of the Application constitutes acceptance.
Privacy and storage questions: privacy@trefnus.com. General support: support@trefnus.com.