Skip to main content
Halden

Last updated: July 24, 2026

Privacy Policy

This policy explains how Halden handles local project scans, account data, license data, and payment-related records. It is based on the current Halden desktop and web implementation.

What Halden is

Halden is a desktop workspace and web account service for running local security checks on registered project folders.

The desktop app scans the project folder you select and prepares supported fixes that require your choice. The web service handles account sign-in, license status, and checkout.

Local project data

Halden is designed so source code, .env values, detected secret values, scan results, project paths, suggested fix contents, and user-approved file edits are processed on your device.

Project lists and redacted scan caches are stored locally in an account-specific Halden app-data directory on your device. Refresh tokens and the random install device identifier used by the desktop app are stored in the operating system keychain.

Halden does not intentionally upload your source code, .env values, or detected secret values to the web service for normal scanning, suggested fixes, user-approved local file edits, or project-limit enforcement.

Account and license data

When you create an account or sign in, Halden may store your user identifier, email address, OAuth provider information, profile record, license status, and timestamps needed to run the service.

For desktop sign-in, Halden creates a short-lived connection attempt containing your operating system hostname as the device name, operating system name and version as the platform, app version, status, expiry, HMAC digests of the one-time code and connection credentials, and an encrypted one-time session handoff. The browser never puts a session token in the Halden deep link, and the desktop renderer does not receive OAuth callback codes or session tokens.

Starter accounts can use one local project and one active desktop device. A Lifetime license unlocks additional local projects and up to three active desktop devices for the same account.

To enforce device limits, Halden stores device activation records such as a hashed random device identifier, operating system hostname, operating system name and version, app version, activation timestamp, last-seen timestamp, and revocation timestamp.

Payments

Halden uses Stripe to process payments. Halden stores payment references such as a Stripe customer identifier, payment intent identifier, license type, license status, and price amount.

Halden does not store full card numbers. Payment information is handled by Stripe according to Stripe's own privacy and security practices.

When you delete your Halden account, Halden requests permanent deletion of each reachable Stripe Customer so its stored card details cannot be used again. Minimal customer and transaction references remain in Halden and Stripe where needed for refunds, transaction history, fraud prevention, accounting, and legal obligations.

Service providers

Halden uses Supabase for authentication, account data, license records, and device activation records.

Halden uses Stripe for checkout, payment processing, payment status, refunds, and customer records.

These providers process personal information only as needed to provide account, authentication, licensing, and payment functions.

Cookies and local storage

The web app uses authentication cookies set through Supabase so you can stay signed in.

The web app may use local storage for non-sensitive preferences such as theme selection.

Halden does not currently use advertising cookies or third-party behavioral advertising in the codebase reviewed for this policy.

How information is used

Halden uses account, license, and device activation information to authenticate users, enforce project and device limits, provide checkout, prevent duplicate Lifetime licenses, process refunds, and operate the account dashboard.

Halden may use operational logs and security records to protect the service, investigate abuse, debug errors, comply with legal obligations, and maintain reliable service.

Your choices and rights

You can sign out or permanently delete your Halden account from the account dashboard. Account deletion closes server access immediately, removes Halden profile, license, device, and GitHub binding records, and signs out each desktop after its next successful account check.

After a desktop device verifies the account deletion, Halden removes that account's local project list, access settings, redacted scan cache, and sign-in session. Account deletion never deletes, rewrites, or restores files in your local project folders.

Depending on where you live, you may have rights to request access, correction, deletion, portability, restriction, objection, or information about how your personal data is used.

Halden does not sell personal information or share it for cross-context behavioral advertising based on the implementation reviewed for this policy.

Retention

Local project records and redacted scan caches remain on your device while the account exists. They are removed from a device after that device verifies the account deletion, or when you uninstall or delete local app data.

Deleting an account removes the Halden profile, license grants, device activation rows, and GitHub App bindings. Supabase retains a soft-deleted hashed auth identifier. Halden retains a minimal account-closure UUID and timestamp plus existing hashed device identifiers so an activated desktop can verify the deletion without receiving account data.

Stripe customer, purchase, webhook, and transaction references are retained only as needed to support refunds and transaction history, prevent fraud or abuse, keep accounting records, and comply with legal obligations.

Desktop connection attempts expire after five minutes. Expired attempt and rate-limit rows are removed by later connection starts; a successful native completion clears the encrypted session handoff and marks the attempt consumed. The credential-free Halden deep link only asks the running app to check the server immediately.

Security

Halden separates local project scanning from account and billing systems so secret values do not need to leave your device during normal use.

No security tool can guarantee that every exposed key, token, or credential will be detected. If a secret may have been exposed, you should rotate it with the affected provider.

Legal notice coverage

This policy is written to provide clear notice about personal information practices, including categories of data, purposes, service providers, retention, and rights where applicable.

It is intended to support common notice principles reflected in laws and guidance such as the California Online Privacy Protection Act, the California Consumer Privacy Act where applicable, FTC privacy and security guidance, and GDPR transparency requirements where applicable.

Contact

For privacy, account, or deletion requests, contact Halden at hello@gethalden.com.

Do not send API keys, .env values, passwords, or other secrets in support requests.

References

Relevant public references include FTC business privacy guidance, California privacy notices, and GDPR Article 13 transparency requirements. This page is a product policy, not legal advice.