LEGAL / PRIVACY

Privacy Policy

This policy explains how NullTrace handles information when you visit nulltrace.dev or use the NullTrace service.

Who operates NullTrace

NullTrace is operated by Giorgio Minerba, an individual established at Via San Giovanni Bosco 51, 56127 Pisa, Italy. For privacy questions, contact minerbagiorgio99@gmail.com.

Information we process

Depending on how you use the service, we process your email address; support ticket subjects and messages you choose to submit; account and client identifiers; plan, quota and usage totals; Stripe customer, subscription and event identifiers; hashes of API keys, account tokens, magic-link tokens and browser sessions; and security and operational logs, including request path, status, request identifier and timing.

When you visit the website, our hosting provider receives the technical information needed to deliver the pages, such as your IP address, browser and request metadata. The website loads typefaces from Google Fonts; your browser connects to Google to retrieve those font files, and Google may receive technical connection data such as your IP address.

For passwordless sign-in, we use your email address to send a one-time magic link through Resend. The email contains the sign-in token in the URL fragment. Resend processes the recipient address and message content to deliver that email. NullTrace stores only a hash of the token; it expires after 15 minutes and can be exchanged once. A successful sign-in creates a revocable browser session whose token is stored only as a hash and is valid for 12 hours. The session cookie is HttpOnly, Secure and SameSite=Lax. We do not use the session cookie for advertising or cross-site tracking.

When you submit API or chat requests, NullTrace processes their content to detect and anonymize configured classes of personal data and secrets and to identify prompt-injection signals. Rehydration mappings are held in process memory for up to 15 minutes. For chat requests, the anonymized request and your provider credential are forwarded to the upstream provider configured for your deployment; that provider processes the request under its own terms and privacy practices. NullTrace does not use customer request content to train models.

Stripe sends signed billing events to NullTrace. The event payload is stored in a separate SQLite-backed queue until processing succeeds; failed jobs remain queued for retry and can contain customer email, Stripe object identifiers, subscription status and event metadata. The payload is removed from the queue after successful processing. The durable queue database is included in the service's operational storage and backup process.

Why we use information

We use account and contact information to provide the service and requested sign-in; usage and security information to enforce quotas, prevent abuse and maintain reliability; and billing information to provision subscriptions, reconcile payments and meet accounting obligations. We do not use the magic-link address for marketing unless you separately ask us to do so, and we do not sell personal information.

Legal bases

Where data-protection law requires a legal basis, we process information as necessary to provide an account or service you request, to comply with legal obligations such as accounting, and for our legitimate interests in securing, operating and improving the reliability of the service and preventing abuse. We will request consent where applicable law requires it, including for any optional marketing or non-essential tracking if introduced.

The browser session cookie is strictly necessary to authenticate and maintain your requested dashboard session. The current website does not use advertising or analytics cookies.

Service providers and disclosures

Resend delivers transactional sign-in email. Stripe processes payments, subscriptions and billing events. The hosting, storage, backup and monitoring providers used for the deployment process account records, service logs and queued webhook data. The upstream LLM provider is selected by the customer or deployment and receives chat requests after NullTrace processing. These providers process information under their own contractual terms and privacy notices. We do not control the customer's selected upstream provider.

Retention

Magic links are usable for 15 minutes and browser sessions for 12 hours; expiry or revocation prevents further use. The database stores hashes rather than the raw link or session token. Expired magic-link and email-rate-limit hashes are purged after 24 hours; expired or revoked session hashes are purged after 30 days. Account, billing and usage records are retained while needed to provide the service and to meet applicable accounting, security and dispute-resolution requirements. Stripe webhook payloads are removed from the active queue after successful processing; payloads awaiting retries remain in the queue until resolved. Operational backups are intended to be retained for 30 days; this period depends on the separate VPS backup configuration.

International processing

Our service providers and the customer's selected upstream provider may process information in countries other than your own. Where required, the responsible parties must use an applicable transfer mechanism and safeguards. Contact us for information about the providers and safeguards applicable to your account.

Your privacy rights

Depending on your location and the applicable law, you may have rights to access, correct, delete or restrict personal information, object to certain processing, request portability, or complain to a supervisory authority. To make a request, email minerbagiorgio99@gmail.com. We may ask for information needed to verify your identity. We may retain records where required by law or necessary to establish, exercise or defend legal claims.

Controller and contact

The controller is Giorgio Minerba, Via San Giovanni Bosco 51, 56127 Pisa, Italy. For privacy requests and questions, contact minerbagiorgio99@gmail.com.

Changes

We may update this policy as the service changes. The date above shows when it was last revised.