Luculent

Privacy Policy

Last updated: November 14, 2026

This is the company-wide privacy policy for Luculent. It covers the desktop app, the CLI and connector, the web app, the website, the API, and the Luculent Browser Driver for AI Agents. Questions: privacy@luculent.app.

1. Who we are

"Luculent", "we" and "us" mean Luculent. Luculent is a standalone brand with no parent brand. Contact: privacy@luculent.app.

This policy covers the Luculent desktop app (Windows and Linux), the luculent CLI and luculentd connector, the web app, the website, the Luculent API, and the Luculent Browser Driver for AI Agents.

2. Local-first by default

Luculent runs on your computer. SOPs, checks, step state and the local audit trail are stored in a local SQLite database on your device. Local checks do not send data to Luculent by default when you are signed out; nothing leaves your machine except content-free usage telemetry you can preview and limit in Settings > Privacy.

The Luculent agent, built into the program, runs on the AI model you connect (your own provider account, or a free model through OpenRouter if you choose it). Requests from the Luculent agent go from your device to that provider under your account and that provider's terms. Luculent does not host a model for the Luculent agent, does not hold your model key on its servers, and does not see those requests. The Luculent agent can run fully locally with a local model.

3. Data we process

FlowWhatWhenWhere it goesRetention
Local storageSOPs, checks, step state, local audit trail, settingsAlwaysYour device only (SQLite)Until you delete it
Agent model requestsYour prompts and the context the agent sendsWhen you use the agentYour chosen model provider (or OpenRouter), directly from your deviceProvider's terms; Luculent stores none of it
Account and sign-inEmail address, name, sign-in provider ID (email link, Google or GitHub)When you create an accountWorkOS (authentication)Life of the account, plus a short period afterward as needed for security and records
Cloud sync (paid plans, optional)SOPs, SOP groups, device records, pairing records, change feed, remote command audit trail, push tokensWhen you turn on syncNeon Postgres, isolated per tenant by row level securityLife of account; decision events and telemetry 1 year on cloud plans
BillingPlan, seats, Stripe customer and subscription IDs; card details are entered on Stripe and never reach usWhen you start a paid plan or a trial convertsStripeAs required for tax and accounting
Tier A: Operational telemetryToken counts, model id, provider, route, request type, estimated cost, sync health, errors (Essential); latency TTFT/total, retries, performance (Full). Account-linked (tenant and user id) for billing and the Usage page.When signed in; can be restricted to Essential onlyCloudflare Workers Analytics Engine (raw), Neon Postgres (rollups)Analytics Engine raw 3 months; rollups 24 months
Tier B: Product insightsFeature usage, connector setup, SOP review decisions, enforcement verdicts. Strictly content-free; rotating install id (no user id). Individual plans only; on outside EU/EEA/UK, opt-in in EU/EEA/UK; never from org workspaces.When enabled on individual plansNeon Postgres (region-pinned, US or EU)Raw events at most 30 days; aggregates (k >= 50) rebuilt each run
Website analyticsCookieless page views, referrers, and allowlisted UTM parameters (site.landing). No cookies, no local storage, no visitor ID, not linked to any account.When visiting luculent.app or luculent.devCloudflare Web Analytics, Luculent ingestCloudflare default, ingest rollups 24 months
WaitlistEmail, signup source, UTM tags, consent version, bot-check verdictWhen you join the waitlistNeon PostgresUntil launch, and for a reasonable period afterward, or until you ask us to delete it
Contact formName, email, messageWhen you send the formChecked by Cloudflare Turnstile; current build does not store the message (it logs only message length)Not stored, unless a later inbox integration is added, in which case we will update this policy
Bot protectionTurnstile token and verdictWaitlist and contact formsCloudflare TurnstileCloudflare's terms
Hosting and logsIP address, user agent, request path. Coarse country derived, IP discarded immediately.Every web requestCloudflare (website, web app, API)Only as long as needed for security and operations
Crash reports (opt-in)Error type, stack trace, app version, OS; scrubbed (see section 5)Only if you turn on crash reportsSentryOnly as long as needed to fix the error
Push notificationsWeb push subscription (endpoint and keys) or mobile push tokenWhen you allow notificationsNeon Postgres; delivery through the browser or OS push serviceUntil you revoke or sign out
Memory integration (optional)Notes and recall data you choose to storeOnly if you connect HindsightYour local Hindsight instance, or Hindsight Cloud under your own accountYour Hindsight settings
Transactional emailEmail address, message typeSign-in links, invites, waitlist and beta noticesOur email provider (planned: Resend)As needed to deliver the message and handle bounces
Browser Driver navigation metadata (optional)Structural navigation metadata only. See section 13.When enabled, as described in section 13Luculent serversRaw events at most 30 days; de-identified aggregates up to 24 months

We do not sell personal data. We do not use your SOP content, prompts or code for advertising. We do not run advertising trackers or third-party ad cookies on the website.

5. Crash report scrubbing and privacy controls

Crash reports are off by default in the desktop app and CLI. Before a report leaves your device we remove: any line mentioning an SOP or a prompt, API keys and bearer tokens, email addresses, and your home folder path. The desktop app sends reports only when crash reports are turned on in its privacy settings.

Settings > Privacy lets you preview exact queued and sent events in plain language and raw JSON, filter by event type, toggle product insights, choose Full vs Essential operational telemetry, and download all stored events.

6. Subprocessors

SubprocessorPurposeData
CloudflareHosting, CDN, Turnstile bot checks, Workers Analytics EngineRequest metadata, Turnstile tokens, Tier A operational time series
NeonCloud database for sync, waitlist, telemetry rollupsSync data, waitlist entries, telemetry rollups and regional Tier B staging
WorkOSSign-in (email, Google, GitHub)Account identity
StripePayments and subscriptionsBilling data
SentryOpt-in crash reportsScrubbed error data
Hindsight CloudOnly if you connect it under your own accountMemory data you choose to store
Email provider (planned: Resend)Transactional emailEmail address, message

Model providers you connect for the Luculent agent (and OpenRouter, if you choose it) are not our subprocessors. You contract with them directly.

7. Model training and evaluation on user content

Luculent collects redacted user content (including portions of prompts, documents, and SOP text) to train, fine-tune, and evaluate AI models. This data is stored in the content store for up to 24 months. You may opt-out of content collection for training at any time in Settings > Privacy, and you may request deletion or export of your content. Unredacted personal data and source code are never used for training.

This section does not apply to Browser Driver page content, which stays on your computer and is not used to train Luculent models. Optional Browser Driver navigation metadata, described in section 13, is structural only and contains no page text.

8. Your rights and choices

9. Security

Cloud data is isolated per tenant with Postgres row level security. Device tokens are stored only as SHA-256 hashes. Card data is handled by Stripe. We do not claim any security certification.

10. Children

Luculent is not directed at children under 13, and the Browser Driver is not directed at children under 13.

11. International transfers

We use subprocessors that may process data outside your country, including in the United States. If you need details of the transfer mechanism that applies to you, email privacy@luculent.app.

12. Changes

We will post changes here and update the date above. Material changes will be announced in the app, in the extension, or by email before they apply.

13. Luculent Browser Driver for AI Agents

The Luculent Browser Driver for AI Agents is a free Chrome extension that lets AI agents you run and authorise drive tabs in your browser. Agents connect through a relay program that runs on your own computer, and they authenticate with an API key you create. The extension uses Chrome's debugger access (chrome.debugger) so an agent can control a window you have allowed.

What the extension can access. Only pages an agent you authorised is driving, in tabs you granted or in tabs the agent opened itself. That can include the page's content and structure, its URL and title, form fields the agent fills, screenshots it is asked to take, and downloads it is asked to report.

What stays on your computer. Your security settings, the paired relay's identity, tab grants, the killswitch state, side-panel chat history, and a short activity log stay on your device. Page content the agent reads is sent only to the local relay on 127.0.0.1, and from there only to the agent that holds a valid API key you created. Luculent does not receive that page content.

Security controls. You choose what agents may do. By default, password fields are blocked, cookies and site storage are blocked, custom scripts are blocked, and file uploads and login or payment form submits ask you first. A built-in banking and payment block list (plus similar financial hosts) is on by default; agents cannot drive those sites unless you change that preset. Browser-internal pages and other extensions are never in reach. A killswitch stops every agent at once.

Optional navigation metadata, to make the driver better over time. If you leave this on (or, in the EU, EEA and UK, if you opt in), the extension may send Luculent a small amount of structural information about how agents navigate websites. This is how a small team can keep improving the driver's preemptive planner: the agent gets a better sense of how a site is usually laid out, so the next visit can plan a few steps ahead and only confirm or adjust when the page loads.

We collect only:

We never collect page text, form values, passwords, cookies, query strings, data from sign-in or authentication pages, data from sites on the banking and blocked preset, or anything from Incognito windows.

It is on by default outside the EU, EEA and UK, and you can turn it off at any time in the extension's settings or the consent screen. In the EU, EEA and UK it stays off until you opt in. Turning it off takes effect immediately and deletes any of this metadata that has not yet been uploaded. You can ask us to delete what we already have by emailing privacy@luculent.app.

We keep raw events for at most 30 days, and may keep de-identified aggregates for up to 24 months, only to improve navigation and the preemptive planner. We do not sell this data, and we do not use it for advertising.

Chrome Web Store Limited Use. Information the extension accesses, including information from Google APIs and from pages you browse, is used only to provide and improve the Browser Driver's features. We comply with the Chrome Web Store User Data Policy, including the Limited Use requirements. We do not use that information for advertising, and we do not sell it or use it to determine creditworthiness.