Privacy Policy for Better Intra

Last updated: June 2026

Data Collection

Better Intra does not collect, sell, or share any user data. The extension operates primarily on your local device.

Local-Only Data

All extension settings (logtime goals, colours, shortcuts, cluster preferences, profile visuals, friend list, feature toggles) are stored locally on your device using chrome.storage.local. This data never leaves your browser unless you explicitly enable cloud sync.

Logtime data is read directly from the 42 Intra page — it is never transmitted anywhere.

When viewing other users’ profiles, their public custom visual URLs (avatar, banner, background) are cached locally under hashed logins for faster repeat loading. Cached URLs are cleared when the extension is uninstalled.

Cloud Sync (Optional)

If you enable cloud sync, the following data is transmitted to the extension’s Cloudflare Worker at better-intra-worker.nicopasla.workers.dev:

All your cloud data is keyed under a hash of your login and is only accessible to you. The worker retains invocation logs for debugging purposes (request timestamps, endpoints, HTTP status codes, item counts, and state transitions). When relevant, identifiers are truncated to their first 6 characters to prevent full exposure. Discord API error status codes may also appear in logs. These logs are not used for tracking or analytics.

The worker also caches friend user IDs in KV and online status in D1 to reduce calls to the 42 API. This cache is temporary and only contains 42 user IDs and online location data.

OAuth Authentication

When you authenticate via 42 OAuth, a temporary session token is stored locally in chrome.storage.local. This token is used to authenticate requests to the Cloudflare Worker. It is never shared with third parties.

Evaluations Background Service

The Cloudflare Worker runs a cron job every 10 minutes to check for evaluation state changes (slot bookings, reveals, 15‑minute reminders) on behalf of enabled users. The worker fetches evaluation data from the 42 API and detects state changes. Discord DMs are sent directly by the worker — the browser extension does not poll for evaluations. Evaluation states and pending notifications are stored in Cloudflare D1.

Third-Party Access

Data Retention & Deletion

Permissions

Changes to This Policy

If this policy changes, the extension version will be updated and the “Last updated” date at the top of this page will reflect the change.

Contact

For questions about this privacy policy, open an issue at: https://github.com/nicopasla/better-intra/issues