twilight ventures

privacy

last updated 2026-10-08

This page covers every Lens viewer from Twilight Ventures: the eight JetBrains plugins (JSONL Lens, Log Lens, Parquet Lens, SQLite Lens, XLSX Lens, Notebook Lens, DuckDB Lens, Heap Dump Lens), the three VS Code extensions (JSONL Lens, Parquet Lens, Log Lens) and the two Atlassian apps (Lens File, Log, & Attachment Viewer for Confluence and Lens File, Log, & Attachment Viewer for Jira).

The viewers read the file you open, and for a database also the journal and write-ahead sidecar files that sit beside it (the -wal, -shm and -journal files a SQLite or DuckDB database keeps), because those hold the newest pages. Images in a notebook are drawn from the bytes saved inside the notebook; nothing is fetched. The plugins and the extensions collect no telemetry, keep no account, and never send a file, a file name or a record anywhere; the only network calls they make of their own are the requests of a VS Code Pro license key, described below, and the DuckDB extension that DuckDB Lens fetches when you ask its console to install one. The two Atlassian apps read an attachment through the Confluence or Jira API with the viewing user's own permissions and make no request to any server outside Atlassian.

On JetBrains IDEs the Pro license state is read from the IDE's own licensing system. The plugin itself makes no network call for the license; the IDE handles the subscription the way it handles its own.

On VS Code the free viewer makes no network calls at all. Pasting a Pro license key makes one call to Polar, the store that issued it, carrying the key, our store id, a label (your platform name, a hash of your computer name and the extension name) and a digest of the editor's machine id, so the key can be tied to that machine. About once a week the extension checks the key with Polar again, sending the key, its activation id and the same digest. When Polar cannot be reached the key keeps working for up to 45 days and the check is tried again at every start and once a day; after that Pro turns off until a check gets through. Removing the key sends one more call, carrying the key and its activation id, to release the machine. The key itself is kept in VS Code's secret storage on your machine. The record of its activation, kept in VS Code's own storage, is signed with a secret from that secret storage and the machine id, so a copy of the record does not work elsewhere. The 30-day trial is local and makes no call; its start date is written to .twilightventures-lens.json in your home folder as well as to VS Code's own storage, so a new profile does not start a second trial.

What we do receive comes from the stores, not the software. When you buy Pro on the JetBrains Marketplace, JetBrains shows us a customer number, the country and the order; when you buy a key through Polar, Polar shows us the name, email address and country you gave at checkout, the amount, and the key. For each site that installs or subscribes to one of the Atlassian apps, Atlassian shows us the license record: the company, the country and, where Atlassian gives them, the names and email addresses of the technical and billing contacts. We keep those order records in our own books for as long as tax law asks, and we use an email address only to answer you, or to write to the technical contact on a license about a security incident, as our security policy says. We never sell them, and beyond us they appear only in the tax filing the law requires.

Retention and deletion: the two Atlassian apps run on Atlassian with no vendor servers, so removing one from a site leaves nothing behind on our side, and Atlassian keeps the platform's own app logs for its standard window. Your browser keeps the theme, the ids of the attachments you open and the text of the searches you run (two hundred of each at most, behind the counts the trial notice shows), whether the trial notices and the one review prompt have been shown and your answer to it, and, in Confluence, the tab and the search you left each file on; none of it is sent anywhere, and the Confluence macro keeps its own settings in the page it sits on. A plugin keeps its settings on your machine and the IDE keeps the license, so removing the plugin removes its settings while JetBrains keeps the license record with your account. An extension keeps its settings and the key on your machine, and the activation that key made lives at Polar until you free it in the portal.

Privacy questions can go to support@twilightventures.dev, or to the issue tracker or the discussions of this repository if you prefer them public.