Security and privacy

What leaves a developer's machine, and what never does

Workboard's collector sends counts, sizes, times, costs and names from each developer's machine; prompt text, replies, file contents and code never leave it. This page describes Workboard as it runs today, and separately the controls we are rolling out now. We hold no security certification yet.

Where the data goes

Hosted by Cognitivi, or self-hosted in your cloud

What leaves your network depends on where the Workboard server runs. In both cases prompt text, replies, file contents and code never leave the developer's machine.

Server racks in a dark data center, lit by green status lights, with bundles of orange and blue network cables
Hosted

On Cognitivi's servers

The collector on each machine sends to Cognitivi's Workboard server over https. What reaches it today:

  • Counts and sizes: tokens, prompt length, lines changed
  • Times, durations and costs of each call, tool and session
  • Names such as project, model, tool and host
  • Short tool labels, up to 48 characters today
  • Session titles and pull request titles

Prompt text, Claude's replies, file contents and code never leave the developer's machine.

A layer of white clouds under a blue sky, seen from above
Self-hosted

In your AWS, GCP or Azure account

The Workboard server runs in your own cloud account, with your managed PostgreSQL and your identity provider. The same collector sends the same fields to your server instead of ours, so nothing leaves your network.

Today

Content stays local

Prompt text, Claude's replies, file contents, code, diffs and tool output never leave the developer's machine. A prompt is sent as its length in characters, never its text. Request captures, when a developer records one, stay on that machine and are deleted after 7 days.

What is sent

The collector sends ids, counts, sizes, times, durations and costs, plus names such as project and model, short tool labels, and session and pull request titles. On a hosted install these reach Cognitivi's server. On a self-hosted install they stay in your network.

https only

Every sender refuses a server address that is not https. It sends nothing and keeps its outbox until the address is fixed. The one exception is plain http to the same machine, for a local test server.

Hooks only drop files

Workboard's Claude Code hooks write each event to a local folder and exit. They make no network call and run no Python. A separate collector reads that folder, cuts each record down to the allowed fields and sends it.

Checked twice

Each sender cuts its rows to a fixed list of fields before sending, and the server checks every row against the same list again. A row is always stored under the user its sender token belongs to, whatever the row says.

Each user sees their own rows

Every signed-in user sees their own data. Team totals appear only for users who turn on sharing, and never include anyone's sessions, hosts or tools. Nothing of one organization is in any answer to another.

Retention

The server deletes detail rows after a set number of days, 90 by default, every hour. Sender tokens are stored as a SHA-256 hash, and one token per machine means one machine can be revoked on its own.

Content logging off

Claude Code can add prompt text, replies and tool details to its telemetry. Workboard's setup leaves those options unset and sets reply logging off. Today it keeps a value a developer set earlier; the installer guard below changes that.

Rolling out

Controls we are building now

These are in progress and not yet on every install. We will update this page as each one ships.

01

Shorter tool labels

Today each tool call carries a label of up to 48 characters, such as the first line of a shell command. The new rule keeps only the program name (git, pytest) or a file's base name, and the server applies the same rule to anything an older sender sends.

02

Loop detection by fingerprint

Repeated tool calls and edit, test, fail cycles found from a keyed fingerprint of each call's input. The key stays on the machine, so two identical calls match while the input cannot be read back.

03

Scrubbed telemetry log

The server keeps a short-lived raw log of telemetry batches for an independent cost recount. It will keep only the fields the recount reads, without emails or account ids.

04

Installer guard

The installer will stop on a machine where Claude Code's content logging is switched on, so such a machine cannot be set up as a sender.

05

Less free text from projects

The machine feed sends some free text today, such as session titles, pull request titles and work log entries. That text will become opt-in per project, with a schema and size limits on the server.

Running a security review?

We can walk your reviewer through the full list of stored fields, where each one comes from and how long it is kept. For data that must stay inside your network, see enterprise deployment.