Privacy
What we hold, and what never comes in.
WorkTrust counts what you built with AI: when, for how long and how it was validated. No prompt, no answer, no code and no file name enters the system. This statement names, per item, where it lives, why, for how long, and what erases it.
Version of 8 September 2026, written from the code. This is a draft: the controller's identity, the legal basis per purpose, the outcome of the DPIA for automated profiling and the complaint route follow legal review. Until calibration has run, no score here is a selection instrument, and every screen says so.
What WorkTrust is
WorkTrust verifies capability, not content. It counts what a person built with AI and turns that into a private report for the person and, only when they publish it, a credential of counts and levels for an employer. The doors have no field for a prompt, an answer, code or repository content; that is enforced in the code, not promised in a text.
What we hold, where, and for how long
The inventory below describes the principal data categories. New optional chat messages have a 30-day retention deadline and are hidden on expiry; an hourly cleanup removes expired new messages. Existing conversations retain their previous policy until you delete them or a reviewed migration changes it. Private project labels and repository aliases remain where necessary for display and corroboration; new connector evidence events carry opaque project references.
| Data | Where | Why | Retention | Erased by |
|---|---|---|---|---|
| E-mail address and sign-in times | Sign-in service | Your account and its second factor | Account life | Deleting the account |
| Display name, first and last name, headline, photo address, language, location, about, skills, LinkedIn address, optionally your ORCID iD | Owner profile | The name on your credential; how you present yourself | Account life | Deleting the account |
| The profile photo itself | Storage, your account's folder (publicly readable) | The face on your credential | Until replaced or deleted | Replacing it (the earlier file is removed); deleting the account |
| Positions: company, title, dates, a description | Work experience | Your own account of your career, on your own page | Account life | Removing a row; deleting the account |
| Verification id (public address) and koppel-ID | Owner profile | The credential's address; the company link | Account life; a rotated address reads publicly as retired | Rotation in Settings; deleting the account |
| A coupling's label, key prefix, first network hash, first client name | Coupling keys | Which of your AI clients reported what | 30 days after you delete the coupling | The sweep; deleting the account |
| Network hashes per coupling per day | Analysis | Detecting one coupling used from many places | 35 days | Sweeps itself |
| Your work record: one neutral line, layer, kind, duration, token counts, model, project, optionally a domain; the repository's owner/name only for a repository on GitHub, GitLab or Bitbucket (the hosts WorkTrust can couple), never for one on your own or a client's server | Work record | The record itself | Account life | Deleting the account (deleting source data leaves these lines) |
| When each stretch of work began and your computer's offset from UTC (a time zone, not a place), and how often you stopped the agent or steered it mid-task, as counts | Work record (your own screen only) | Your working day in your own local time; never shown to an employer, never part of a score | Account life | Deleting the account |
| What the WorkTrust CLI derived on your computer from each stretch, as kinds and counts: checks run and how they ended, delivery steps, recoveries, delegation, refusals, planning, files and test files changed, a complexity class; and, for its commits, whether they reached GitHub and passed CI, were deployed or merged. Never a word you wrote, a command or a path | Work record; analysis (your own screen only) | How you work with AI, observed in a window; never shown to an employer and read by no score until a validated standard and a legal review allow it | Account life | Deleting the account |
| GitHub installation number and account login; on the older path an OAuth token in the vault | Sources; vault | Reading your commits, CI runs and deploys, metadata only | Until you disconnect | Disconnecting (secret forgotten at once); deleting source data |
| Derived events, sessions, signals, snapshots, integrity findings | Analysis; scoring snapshots | The analysis | Account life | Deleting source data; deleting the account |
| The published credential | Published profiles | What an employer may read | Until withdrawn | Withdrawing in Settings; deleting the account |
| Your passport as it reads before you publish it: the same counts, levels and dates as a published one, never your private report or the content of your work | Support view (WorkTrust staff only) | Support, and improving the platform: seeing where a passport comes out wrong | The latest version only, for the account's life; none for anyone under 18 | Deleting the account |
| Weekly totals of AI hours and active days across adult accounts: counts, averages and percentiles, no person in them | Benchmark | Improving the platform and, later, letting people compare themselves | Kept as totals; they name nobody | Your own lines are erased with your account; totals already counted name nobody |
| Shares with a company: the company, the projects you ticked | Profile shares | One company, exactly those projects | Until you close them | Closing; deleting the account |
| Invited e-mail address, who invited, a note | Invitations | The guest list while the product is tested by invitation | Until removed from the list | The console; opening the product retires the list |
| Company details a company gives: tagline, industry, size, city, country, website, phone number, a contact person's name and e-mail | Company details (the company's members; WorkTrust support) | Who the company is and whom support contacts | As long as the company's workspace | The company's owner or admin changes or clears them; removing the workspace |
| Audit rows: who granted a right, who changed a setting | Audit | Accountability | The audit's life | Not erased |
| The network address (IP) of: a computer that asks to be coupled, the browser that approves it, a computer that collects its key or hands itself over to another account, and anyone who opens a published passport | Security record (WorkTrust staff only) | Investigating theft, fraud or misuse when it is reported, or answering a lawful request; never shown to account holders or employers | 90 days | Removed automatically after 90 days; deleting the account |
WorkTrust keeps keyed network hashes, so "which network" survives and "which address" does not. One exception keeps the address itself: the security record in the table, for WorkTrust staff only and for 90 days, to investigate theft, fraud or misuse.
A photo is never stored as uploaded. Our server decodes it to pixels and draws it again at 512 by 512: no EXIF (a phone's GPS fix lives there), no colour profile, no text chunk, no SVG. The browser cannot write to the storage; only that route can.
Your controls
Export
Your record as JSON or CSV, the same numbers the report reads.
Rotate the public address
The old address reads as retired to anyone who checks it.
Withdraw the publication
The credential stops answering; you can publish again at any time.
Delete source data
Repository couplings disconnected, secrets forgotten, every derived analysis removed. Your own lines, couplings and credential stay.
Delete the account
Nothing stays behind.
The last three ask for a sign-in younger than five minutes and, where enrolled, your second factor.
What an employer can see
Counts, levels and dates. Never content, never the names of your AI clients, never a behaviour axis or a label. The public credential answers at your own address; a share opens exactly the projects you ticked. Both are limited per address and, when exceeded, answer the same empty reply as an unknown address.
Automated decisions
The analysis is arithmetic over counts; no model is called to score. Every number names its section in the standard or is marked as proposed, and "insufficient evidence" is an answer the system gives rather than a number it forces. Until calibration has run, no score here may be the sole basis of a hiring decision; how that is stated to employers is for legal review to decide.
Processors
Vercel (hosting), Supabase (database and sign-in, region eu-west-1), GitHub (only what you let the App read; we hold an installation number, no secret). The company platform receives licence and workspace events for employers, never a person's record. Optional AI explanations, role drafting and chat use Anthropic. Chat sends the minimized text you explicitly agree to send plus selected account summaries and recent consented history. Provider contractual retention, regional processing and no-training controls remain subject to operational legal/security review; this draft does not assert those controls are complete.
Questions and rights
Access, export, correction and deletion are buttons in your own settings; you do not have to request them. A contact address for privacy questions and the complaint route are published with the final version, after legal review.
Where your data is processed
The systems that process personal data for WorkTrust, what each does and in which country. Your record and its database stay in the European Union.
| System | What it does | Where | Outside the EU |
|---|---|---|---|
| Supabase | Database, sign-in, file storage and encrypted secrets: your record lives here. | Ireland (Dublin, AWS eu-west-1) | No. Supabase is a US company; any support access from outside the EU falls under its data processing agreement. |
| Vercel | Hosts the website, the app, the company portal and the console, and runs their server code. | Ireland (Dublin). Pages are delivered through Vercel's network from the location nearest to the visitor, in Europe usually Frankfurt. | Server code runs in the EU. Vercel is a US company; transfers fall under its data processing agreement and the EU-US Data Privacy Framework. |
| Mail (Vimexx / ZXCS) | Sends sign-in codes and receives hello@worktrust.io. | The Netherlands | No. |
| Nomico OS | Licences, seats and billing for companies. A person's record never travels there. | Hosted on Vercel; the processing location is being confirmed. | Being confirmed. |
| PanelVote (CRM) | Receives the forms on worktrust.io: early access, contact, newsletter. | Being confirmed. | Being confirmed. |
| Anthropic (Claude API) | Writes explanations of your own figures when you ask for one. Sends counts, never your work. Not active at the moment. | United States | Yes, when switched on: under Anthropic's data processing agreement and the EU-US Data Privacy Framework. |
Services you connect yourself
These are your own accounts. Each is responsible for your data there; WorkTrust only reads the metadata you authorise, and you can disconnect at any time.
- GitHubCommit, CI and deployment metadata, never file contents. United States.
- VercelYour projects and deployments. United States, global network.
- Hugging FaceRepository lists and commit metadata, no files. United States.
- SupabaseCounts about your own project; it stays in the region you chose.
- ChatGPT (OpenAI)Sends neutral work lines to WorkTrust; it cannot read your record. United States.
- Claude (Anthropic)Sends neutral work lines to WorkTrust; it cannot read your record. United States.
Measured on 5 October 2026 from the live systems.
Data processing agreement (DPA)
Companies that use WorkTrust for their people can request a data processing agreement. Send us your company name and Chamber of Commerce number; we reply with our agreement, with this list of systems as its annex.
Request a DPAVersion of 8 September 2026. A draft until legal review: the contracting entity, its registration and the complaint route follow that review, and this text says so rather than filling them in. Nothing here is a validated hiring instrument; every screen says so until calibration has run.
1.About this agreement
This End User Licence Agreement ("agreement") governs your use of the WorkTrust application, its coupled clients and the integrations WorkTrust publishes on third-party platforms, including the WorkTrust integration for Vercel. WorkTrust is offered by the operator of worktrust.io ("WorkTrust", "we"); the legal entity and its registration are named after legal review. The privacy statement is a separate document and governs personal data.
2.Eligibility and acceptance
You accept this agreement by creating a WorkTrust account, by installing or using a WorkTrust integration, or by coupling a client to your record. You must be at least sixteen years old and, where you connect an account or team that is not solely yours, authorised to do so. If you do not agree, do not install or use the software.
3.Licence to use WorkTrust
WorkTrust grants you a limited, non-exclusive, non-transferable, revocable licence to use the application and its integrations for building and sharing your own verified record of work. The licence covers your own account and the projects you connect; it does not cover reselling, sublicensing or operating WorkTrust for third parties.
4.The Vercel integration
The Vercel integration reads deployment outcomes into your WorkTrust record. When you install it you choose the Vercel account or team and the projects it may read. WorkTrust then reads, read-only, the list of those projects and the list of their deployments: identifiers, the moments a deployment started and finished, its state, its target (production or preview) and the repository and commit it deployed. It never creates, changes or triggers anything in Vercel.
The integration does not read files, build logs, environment variables, domains, checks, team members or billing. It has no permission to: the integration asks Vercel only for read access to deployments and projects, and WorkTrust's own checks refuse any code that would reach further. Names and URLs are not stored; a deployment is recorded as an identifier, moments and outcomes, and a branch only as "the default branch or not".
5.Permissions and connected data
Depending on the permissions you grant on a platform, WorkTrust may process technical and activity metadata such as account, team, project and deployment identifiers, deployment state and timing, production or preview target, and the association between a deployment, a repository and a commit. WorkTrust obtains no broader access because an integration is installed: access is limited to the permissions granted through the platform and required for the integration to work.
Unless explicitly stated and separately authorised by you, no WorkTrust integration or coupled client transfers source-code contents, prompts, conversations, file names or environment variables to WorkTrust. This is enforced in the code and tested, not only promised here.
6.Verification and research use
WorkTrust processes the activity and technical metadata obtained through connected sources to create and maintain your verified record, to compute the measurements shown to you, to validate and improve its assessment methodology under versioned standards, and to build aggregated norm groups of at least the published minimum size. Every result is stored with the standard version that produced it, so a change to the method is a new version and never a silent rewrite.
Experimental or unvalidated measurements are shown to you as such and are not represented as validated credentials unless and until WorkTrust designates the applicable methodology as validated after a calibration round. Nothing reaches your public credential without your own publish action, and consent alone never makes a measurement publishable.
7.Your responsibilities
You connect only accounts, teams, repositories and projects you are authorised to connect, and you remain responsible for the accuracy of anything you report yourself, including imported history and work logged through a coupled client. Self-reported work moves your own mirror; it never becomes a verified level without an independent source, and misrepresentation is grounds for termination.
8.Restrictions
You may not reverse engineer, decompile or scrape the software or its measurements beyond what applicable law permits; circumvent rate limits, access controls, signatures or verification sessions; fabricate, replay or manipulate activity to obtain a measurement; use WorkTrust to evaluate a person without a lawful basis; or present a WorkTrust screen or credential as something WorkTrust has not stated.
9.Intellectual property
WorkTrust and its licensors own the software, the scoring standards, the classifiers, the methodology and the documentation. You own your data and your record; WorkTrust's rights to process them are those granted in this agreement and the privacy statement. Your published credential remains yours to withdraw.
10.Third-party services
Vercel, GitHub, Supabase and other platforms are separate services under their own terms; WorkTrust is not a party to your agreement with them and does not control their availability, their APIs or the data they expose. The WorkTrust integration on the Vercel marketplace is offered by WorkTrust, not by Vercel.
11.Privacy and data protection
The privacy statement on this site describes, per item, what is held, where, why, for how long and what erases it, and the controls you hold yourself. It is part of your relationship with WorkTrust and prevails over this agreement where personal data is concerned.
12.Experimental and beta features
WorkTrust is in development. Standards, dials, classifiers and screens change between versions; a measurement may change when the standard does, and the version history says what changed. Features marked experimental, proposed or research may be altered or withdrawn, and their output is not a promise about you.
13.Availability and changes
WorkTrust aims for continuous availability but does not guarantee it, nor the availability, completeness or timeliness of the data a third-party platform exposes. Syncs run on a schedule and within budgets; a source can lag, be paused or be marked as needing attention.
14.Termination and disconnection
You may disconnect a source or uninstall an integration at any time, at WorkTrust or at the platform; WorkTrust then stops reading and marks the source accordingly. Evidence already recorded stays in your record until you delete the source or your account, which erases your data as the privacy statement describes. WorkTrust may terminate this licence for misuse, fabrication or breach of these terms.
15.Disclaimers
WorkTrust is provided as is. It measures observed activity within stated windows and does not warrant that a measurement, a level or a credential reflects a person's ability, will be accepted by any employer, or predicts any outcome. Until calibration has run, no result is a selection instrument and no screen presents it as one.
16.Limitation of liability
To the extent permitted by law, WorkTrust is not liable for indirect or consequential damage, loss of opportunity, or damage arising from third-party platforms, and its total liability under this agreement is limited to the amounts you paid for the service in the twelve months before the claim. Nothing limits liability that cannot be limited by law.
17.Indemnification
You indemnify WorkTrust against claims arising from your breach of this agreement, from connecting accounts or projects you were not authorised to connect, or from your unlawful use of a measurement or credential.
18.Governing law
This agreement is governed by the law of the Netherlands. Disputes are brought before the competent court in the Netherlands, without prejudice to mandatory consumer protection where it applies.
19.Changes to this agreement
WorkTrust may change this agreement. Material changes are announced in the application before they take effect, with the date of the new version; continued use after that date is acceptance. Earlier versions remain available on request.
20.Contact
Questions about this agreement go to the contact address published with the final version after legal review; until then, use the support route in the application. The address for privacy questions and the complaint route are in the privacy statement.
Everything you need to get started with WorkTrust.
Install
One command. It shows a plan, asks before it changes anything, and opens your browser.
Alternative (without npm)
Needs Node.js 18 or newer (Hermes Agent: 22.5 or newer). macOS, Linux and Windows.
Commands
Every command the CLI answers, and what each one lets leave your computer. Nothing is sent without your yes.
| Command | What it does | What leaves your computer |
|---|---|---|
| npx worktrust | Couples this computer: shows the plan, asks, then you approve it in your browser. | Metadata, after your yes |
| npx worktrust --dry-run | Shows the plan and stops: nothing is written or sent. | Nothing |
| npx worktrust status | Shows what is coupled on this computer. | Nothing |
| npx worktrust update | Moves this computer to the newest CLI, with the same key and no new pairing. | Nothing |
| npx worktrust history | Sends earlier sessions on this computer as history, after it shows them and asks. | Metadata, after your yes |
| npx worktrust connect | Couples again, also when this computer is already coupled (asks first). | Metadata, after your yes |
| npx worktrust disconnect | Takes WorkTrust out of every AI app on this computer (asks first). | Nothing |
| npx worktrust@latest preserve | Walks every step: the report, then asks whether to keep the settings and a local archive, and checks it. Nothing changes without your yes. | Nothing |
| npx worktrust@latest preserve --apply | Keeps those sessions longer: asks per change and backs the settings file up first. | Nothing |
| npx worktrust@latest preserve --archive | Writes a local, metadata-only record of your measured days to ~/AI-Evidence. | Nothing |
| npx worktrust@latest preserve --verify | Checks that record: was anything changed afterwards? | Nothing |
| npx worktrust@latest preserve --summary | Counts hours, tokens per model, cache share and parallel sessions from that record. | Nothing |
preserve works without an account and opens no network connection. What it keeps stays on your computer until you couple it and send it yourself.
Links
Key resources for WorkTrust.
- worktrust on npmjs.com
- The only official package, with provenance
- Source on GitHub
- The source the package is published from
- MCP address for AI assistants
- Connect your AI assistant to WorkTrust
- Verification API
- Check a passport from your own software
Platforms you can connect
Read-only. Each one asks for your approval.
- GitHub
- Commits, CI runs and deployments
- Vercel
- Projects and deployments
- Hugging Face
- Repositories and commits, no files
- Supabase
- Migration and row-security counts
Supported AI tools
What each tool sends, and how it is connected. Metadata only: never a prompt, an answer or a file.
| Tool | How it connects | What is measured |
|---|---|---|
| Claude Code | CLI: session hook | Session time, turns, model and tokens |
| OpenAI Codex | CLI: notify hook, after your yes | Session time, turns, model and tokens |
| Cursor | CLI: reads its own chat store in place | Session time, models and tokens |
| GitHub Copilot in VS Code | CLI: reads VS Code's chat sessions in place | Session time, models and tokens |
| Google Antigravity | CLI: one Stop hook, after your yes | Session time and turns (it records no tokens) |
| Hermes Agent | CLI: MCP entry and session-end hook | Session time, roles, model and token totals |
| Goose | CLI: extension and plugin hook | Session time, roles, models and tokens |
| OpenCode | CLI: MCP entry and plugin | Session time, roles, models and tokens |
| OpenClaw | CLI: openclaw mcp set | Session time, roles, models and tokens |
| ChatGPT | MCP connector, submissions only | Neutral work lines, shown as reported by the client |
| Claude (web and desktop) | MCP connector, submissions only | Neutral work lines, shown as reported by the client |
Hours become verified hours only from the computer's own session logs; what a chat client reports stays marked as reported.
Disconnecting, and what happens to your data
You can stop at any moment. What stops, and what stays, depends on how you stop.
- npx worktrust disconnect
- Takes WorkTrust out of every AI app on this computer and removes the session hook and the key file. Your record in WorkTrust is not touched, and the key keeps existing there until you revoke it.
- Revoke in the app
- Sources › Devices › this computer › Revoke. The computer's key stops at once and nothing new is accepted from it. What it already sent stays on your record and keeps counting toward your passport, under the computer it came from.
- Disconnect a platform
- GitHub, Vercel, Supabase and the others stop syncing at once. What they delivered stays in your record.
- Delete data
- Settings › Delete source data removes everything the analysis derived and withdraws your passport; your own records stay. Deleting your account erases all of it.
The risk: a period nobody measured
From the moment you disconnect or revoke, nothing is measured. Your AI apps keep deleting their own sessions (Claude Code and Gemini CLI after 30 days), so when you couple again, npx worktrust history can only bring back what is still on this computer, and only as history, never as live verified work. A gap longer than the apps keep their sessions cannot be filled.
To keep that option open, keep your sessions locally: npx worktrust@latest preserve asks whether your AI apps should keep them longer and whether to keep your own record beside them. Both stay on your computer, without an account, until you send them yourself.
