Skip to content

Usage data

To make the plugin better, we need to know which features engineers use, how long indexing takes and which tools coding agents call. SystemVerilog Studio can send this as usage analytics, but only if you say yes. It asks you once and sends nothing before you answer. It never sends your code, your file or project names, or anything you type. This page lists exactly what is sent, what is never sent, and how to change your answer at any time. Usage data comes with the first release after 2026.2.4; see your plugin version in Settings | Plugins | Installed | SystemVerilog Studio.

You can see and change your choice at any time; you do not need a project open. Open Settings (⌘, on macOS / Ctrl+Alt+S on Windows/Linux; on the Welcome screen, Customize | All settings…). The steps change your choice; step 3 shows how to set it back.

  1. Open the usage data page. In Settings, go to Tools | SystemVerilog Studio Usage Data. You should see two choices:

    • Usage analytics — help improve product quality by sending feature-use data with a random install ID
    • Don’t share — send nothing

    If you have not answered the question yet (see The question), neither is selected, and nothing is sent. A line starting with Not sent: means nothing is sent on this computer whatever you choose, and says why (see When nothing is sent). Note which choice is selected, or that neither is: step 3 puts it back.

  2. Choose Don’t share. Select Don’t share — send nothing and click OK. Open the page again as in step 1. You should see Don’t share — send nothing still selected. Nothing is sent from now on, your install ID is deleted and events not sent yet are dropped (the Copy usage ID link is gone, as there is no ID any more); if you choose Usage analytics again later, a new ID is made.

  3. Set it back. If you had chosen Usage analytics before, select it again and click OK; opening the page again shows it selected. If you had not answered yet, you can leave Don’t share selected, or choose Usage analytics to share.

The first time you open a project that has SystemVerilog files (.sv, .svh or .v), after the IDE has finished indexing, a notification appears in the IDE window. It stays until you answer or close it:

  • Help improve SystemVerilog Studio
  • Send usage analytics, with a random install ID, to help us improve product quality: which features you use, how long indexing takes, and which MCP tools agents call. We never send your code, file or project names, or anything you type. You can change this any time in Settings | Tools | SystemVerilog Studio Usage Data.
  • Buttons: Share usage analytics and Don’t share. The notification also offers What is sent (this page) and Privacy policy (the IDE may list them under More); they open the page in your browser and do not choose anything.

If you close the notification without choosing, nothing is sent and you are not asked again: use the Settings page from Try it to choose later. The question is not shown where nothing could be sent (see When nothing is sent).

Events wait in memory, at most 500 (the oldest are dropped first), and are sent in batches of up to 100, at regular intervals and at once when 50 are waiting. They are never written to disk. When the plugin has not been used for 30 minutes, the events still waiting are dropped instead of sent. Each event says what happened, never to what: no names of files, modules, signals or anything else from your design.

Every event carries:

Item Values
Product and part SystemVerilog Studio; the plugin, or its MCP tools (the tools coding agents call)
Your choice Usage analytics (always: nothing is sent otherwise)
IDE IntelliJ IDEA, CLion, PyCharm, or “other” for any other JetBrains IDE; the IDE’s year and release, such as 2025.2
Operating system macOS, Windows or Linux (left out for any other)
Plugin version Such as 2026.2.4 (left out when it has another form)
Install ID A random ID made when the first event is captured, kept on this computer, replaced after a year (365 days) and deleted when you choose Don’t share. Copy usage ID in Settings copies it (the “usage ID”)
Session ID A random ID, new each time the IDE starts, never stored
Time When the event happened

The events (besides the items every event carries and “How it was started” below, these details are the only ones sent):

Event Sent when Details
Plugin started Once per IDE start: when the first project with SystemVerilog files opens, or when you turn usage analytics on while such a project is open (once the IDE has indexed it) First start after installing, first after an update, or a normal start
Indexing finished Each time such a project opens and the IDE has indexed it. Turning usage analytics on can also send it once, together with Plugin started, for one SystemVerilog project already open; the time sent then is always “under 5 s” and is not a real measurement (the other open projects send it the next time they open) How long it took, as a range (under 5 s, 5–30 s, 30–120 s, 2–10 min, over 10 min); the number of SystemVerilog files, as a range (under 100, under 1,000, under 10,000, more)
Go to Declaration You use it in a SystemVerilog file (a key, a menu, the editor’s context menu or Ctrl/Cmd-click; hovering is not counted) How it was started, and whether it found a declaration
Find Usages You use it on SystemVerilog code How you started it
Rename You rename SystemVerilog code: three events, rename started, conflicts found, rename finished How long it took (on finished), as a range
Quick fix applied You apply one of the plugin’s quick fixes (a preview is not counted) —
Design Hierarchy The Design Hierarchy tool window opens; slang-server elaborates the design for it Whether the elaboration worked, how long it took
slang check slang (an optional compiler) compiles the design: the first automatic run after a project opens, and each run you or an agent ask for Whether it compiled without errors, how long it took
Verilator / Icarus run A Verilator or Icarus Verilog run configuration finishes Whether it exited with code 0, how long it took
Waveform viewer A waveform viewer run configuration starts —
MCP tool called A coding agent calls one of the plugin’s MCP tools The tool’s name (such as sv_check); success, error, time-out or cancelled; the time it took, as a range; for an error, its kind (such as “not found”)
Agent connected The first call from a kind of agent in this IDE session The kind of agent: Claude Code, Codex, Cursor, Junie, other, or unknown, worked out from the agent’s name, which is not sent
Agent sessions An agent’s 3rd, 6th and 21st successful call in this IDE session (to tell a quick try from real use) Which of those three

“How it was started”, sent with every event in the table from Go to Declaration to Waveform viewer: keyboard, menu (the main menu), context (a right-click menu, or the quick-fix menu), agent (an MCP tool did it), or unknown (a Ctrl/Cmd-click, and the events the plugin sees without the key or menu that started them: a rename, the Design Hierarchy, a run configuration, a slang run the IDE started by itself). When an agent makes a change or runs a tool (a rename, a quick fix, a Verilator run, the hierarchy), the event says agent, and it is not counted a second time as yours.

What is sent for one Go to Declaration from the keyboard (the IDs are random):

{
"event": "goto_declaration_used",
"timestamp": "2026-10-09T12:34:56.789Z",
"properties": {
"event_schema_version": 1,
"product": "systemverilog_studio",
"surface": "plugin",
"telemetry_consent": true,
"ide_family": "IntelliJ IDEA",
"os_family": "macOS",
"app_version": "2026.2.4",
"ide_version_major": "2025.2",
"install_id": "0f8fad5b-d9cb-469f-a165-70867728950e",
"session_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"invocation_source": "keyboard",
"result": "success",
"distinct_id": "0f8fad5b-d9cb-469f-a165-70867728950e",
"$process_person_profile": false,
"$geoip_disable": true
}
}

event_schema_version is the version of this list of events; invocation_source is how it was started. distinct_id repeats the install ID for PostHog (the analytics service that receives the data, see Privacy); the last two items tell PostHog not to build a profile of a person and not to look up a location.

  • Your source code, file or directory names and paths, project or module names.
  • Names from your design: modules, signals, classes, packages, macros.
  • What an agent passes to a tool or gets back, its prompts, or its name.
  • Anything you type, error messages or stack traces.
  • Your user name, computer name, email address, or your JetBrains license details.

The plugin builds each event only from fixed values (the ones in the tables above), so there is no field where any of these could go.

Nothing is sent, and the question is not shown, when:

Case Not sent: line in Settings
You chose Don’t share, or have not answered —
The IDE runs without a window (headless, such as a command-line inspection) — (there is no window to show it in)
The environment variable CI is set (any value), as on build servers CI is set
The environment variable SVS_TELEMETRY is off (any case: OFF too) SVS_TELEMETRY=off
The environment variable DO_NOT_TRACK is 1 (exactly; other values do not count) DO_NOT_TRACK is set
The plugin was built without the project key (a build of your own, or a local test build) no project key in this build

The environment variables can only switch sending off, never on. When sending fails (offline, a proxy refusing it), a batch is tried again at the next send, and dropped after three tries; you see no message. The plugin never asks you to accept a certificate: a connection it cannot trust fails like any other.

Your choice is changed only on the Settings page (Try it) or by the question; agents connected over MCP cannot read or change it. It applies to this computer, for all projects, and is not synced to other computers.

  • Don’t share deletes the install ID at once and drops the events not sent yet.
  • With Usage analytics selected, a Copy usage ID link copies your install ID (the “usage ID”), to quote when you ask about your data. It appears once an ID exists, that is, after the first event was captured.
  • Who is responsible: Levses Limited, the maker of SystemVerilog Studio. Contact: Hello@SystemVerilogStudio.com.
  • Who receives the data: PostHog, in its EU cloud, processing it for us.
  • Your IP address: like any request over the internet, each batch reaches PostHog with your IP address. Our PostHog project is set to discard it, and the plugin asks PostHog not to look up a location.
  • Why we may: only with your consent, the Share usage analytics answer or the Usage analytics choice. You can withdraw it at any time with Don’t share, which deletes the install ID.
  • How long: the install ID is replaced after a year; events are kept for 12 months.
  • Your data: copy your install ID with Copy usage ID (see above) and send it to the contact address. We are still confirming with PostHog how the events of one usage ID can be deleted, so we cannot yet promise deletion; we will tell you what can be done.

The privacy policy has the full notice.

You see Likely cause What to do
No SystemVerilog Studio Usage Data under Settings | Tools The plugin is 2026.2.4 or older, or it is disabled Update or enable SystemVerilog Studio in Settings | Plugins, or type usage data in the Settings search field
The question never appeared The project has no .sv, .svh or .v file, indexing has not finished, or a case from When nothing is sent applies Choose on Settings | Tools | SystemVerilog Studio Usage Data
The question does not come back after you closed it It is asked once Use the Settings page
A Not sent: line on the Settings page One of the cases in When nothing is sent Nothing to do if you want it that way. For an environment variable: remove it where it is set for your login session (not only in a terminal, if you start the IDE from the Dock or the Start menu), then restart the IDE. no project key in this build: install the plugin from JetBrains Marketplace
No Copy usage ID link Don’t share is selected, or no event was captured yet Choose Usage analytics and use the plugin; the link appears once an ID exists