Legal
Platform Terms
The terms a platform signs on developers.worktrust.io before it reads WorkTrust passports live.
Draft edition of 18 October 2026. Legal review of the bases per purpose, retention without a fixed deadline, international transfers and the DPIA remains open. This draft describes the implemented data flows; it does not certify legal compliance.
Who is responsible
WorkTrust is operated by Oravtia B.V., registered with the Dutch Chamber of Commerce under number 98076051. Oravtia B.V. is responsible for the personal-data processing described here. Correspondence address: Strawinskylaan 3051. This is a mailing address, not a statement of the registered office address. Contact: hello@worktrust.io.
What WorkTrust is
WorkTrust builds a private work record and, when you choose to publish, a credential others can verify. Evidence submissions contain metadata: neutral activity descriptions, dates, categories, duration, model and available counts. They are not a channel for prompts, answers, source code, file paths or client names. Your account profile, optional work-pattern profile, support correspondence and optional AI chat are separate data categories, described below.
Purposes and authorisation
We use account and source data to provide your record, analyse the available evidence, secure the service and answer support requests. Our proposed legal basis for those service functions is performance of the agreement; abuse prevention relies on a proposed legitimate interest. These positions still require legal review. Signing in or approving a provider connection grants access to that connection. It does not grant permission for every later use or publish your record.
Publishing a credential, approving an estimate, sending optional chat text to an AI provider and joining research are separate choices. Research participation is off by default and can be withdrawn in Settings. Approving an estimate does not turn it into independently verified evidence.
What each source sends
Choose sources in the WorkTrust app. Availability depends on the source and your account. Access stays limited to the connection you authorise.
- ChatGPT and Claude
- The MCP app submits neutral work lines and returns receipts. It cannot read your private record, scores or method back into the conversation. An import can use only conversations or exports the host can actually access. Connecting does not unlock your entire history or create background monitoring. AI estimates and a short work-pattern profile are stored as drafts for your approval in WorkTrust; they are not measured CLI activity.
- CLI and your computer
- The local WorkTrust software processes supported session logs on your computer. It derives activity categories and available timing, model, token and tool counts there, and sends metadata. Prompts, answers and file contents stay on your computer. Counters and imported history keep their own provenance; available measurements differ by tool. Installation through npm/npx or PyPI/uvx/pipx uses the same engine and does not add new observations. From CLI 0.10.21, a local metadata journal in ~/.worktrust/measurements retains available timelines, opaque references and counts before submission. It excludes prompts, answers, file paths and credentials, remains after disconnecting and is controlled by the device owner. It is not a remote backup or independent proof. WorkTrust retains private correction and replacement-review metadata with the account so a disputed replacement does not erase earlier receipts or unrelated sources; account erasure removes that review metadata.
- Optional Python agent recorder (release candidate)
- The optional recorder in CLI 0.10.14 requires an explicit opt-in and a chosen local file. It records opaque agent and version identifiers, parent relationships, times, fixed event categories, token counts, budgets and reported check results. It accepts no prompt, code, name or arbitrary text fields and makes no network requests. It does not discover agents automatically. Local files remain until you delete them. Private account import and comparison are available under Sources → Agent teams: uploading requires your signed-in account and separate consent. Uploaded recordings can then be deleted individually or with the account. These application reports do not add worked hours, capability scores or employer credentials.
- GitHub
- For repositories you select, the GitHub App reads commit, pull-request, CI and deployment metadata. Changed-file metadata can be classified into work categories; file contents are not read. Author identifiers help attribute contributions. Private project labels and repository aliases can be retained for matching evidence.
- Vercel
- The integration reads the selected projects and their deployment identifiers, times, states, targets and repository/commit references. It does not read application files, build logs or environment variables, and does not create or trigger deployments.
- Hugging Face
- The connection reads public account, repository, commit and Space metadata. It does not download model weights, datasets or repository files and does not import private repository contents.
- Supabase as a source
- You authorise the source and select a project. WorkTrust stores hashed migration-version markers and, when available, aggregate counts about migrations, row security and query performance. Fixed diagnostic queries read these counts; application rows, SQL contents and individual actor identities are not returned. Connection credentials are kept in the vault until disconnected. This is separate from Supabase hosting WorkTrust itself.
- Publications and other sources
- If you claim a publication or patent, its identifier can be checked against ORCID, Crossref, PatentsView or EPO. A development-log connection uses the invitation you enter to match activity metadata to your account. These are separate connections; installing the ChatGPT app does not enable them.
- Platforms you connect (Connect WorkTrust)
- You can let another platform, such as a job site, read your published passport. WorkTrust shows you what the platform asks for and you approve it per item: your passport number and link, the counts of your verified AI work, and your published name, headline and photo. The platform never receives your private report, prompts, sources or anything you wrote, and it cannot send anything back or change your passport. It may show your passport only as the card WorkTrust draws, with your passport colour when you hold it and a QR code to the verification page; every card carries an invisible mark that names the platform it was drawn for, so a copy can be traced. You disconnect a platform at any time under Share; from that moment it reads nothing, and its terms oblige it to delete what it received within 30 days.
What we hold, where, and for how long
The table distinguishes access credentials, retained evidence and optional text. Where a fixed deletion deadline has not yet been established, we say so. Disconnecting a source does not by itself erase evidence already received.
| 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 |
| Connection label, token hash/prefix, scopes, client identity, device public key where used and security metadata | Coupling keys | Authenticate submissions and attribute their source | Until deleted; deleted connection metadata is swept after 30 days | 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 |
| Cloud-source account/project identifiers, installation references and OAuth access/refresh tokens where required | Sources; encrypted secret vault | Read the source you authorised and match evidence | Secrets until disconnected; source/evidence metadata can remain for the account lifetime | Disconnect removes the secret; delete source data or the account for retained analysis |
| AI-estimated counts | Private import drafts | Let you inspect, approve or discard an estimate; never sent to employers | Unapproved drafts expire after 30 days; approved data follows your record | Discard the draft; account erasure |
| A short work-pattern profile (requested length 100–150 words), themes and supporting counts | Private work-pattern records | Let you inspect and approve a private profile; never employer-facing | Until replaced for the same source/window, discarded or the account is erased; no automatic 30-day expiry | Discard the profile; account erasure |
| Derived events, sessions, signals, snapshots, integrity findings | Analysis; scoring snapshots | The analysis | Account life | Delete source data removes source analysis; immutable publication history needs account erasure |
| Published credential and signed publication history | Published profiles | What an employer may read | Account life; withdrawal stops verification, not storage of history | Account erasure; withdrawal invalidates the publication |
| 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 | Active until revoked; revocation is not account erasure | Revoke access; delete the account to erase its rows |
| Credential-view counts, country, device/browser families and a pseudonymous reader hash | Credential views | Show the owner reach and detect misuse | 180 days | Retention cleanup; account erasure |
| Optional AI-chat text, replies, consent and selected account summaries | Private chat; Anthropic when you approve sending | Answer the question you ask in WorkTrust | New messages: 30 days, then expiry and cleanup; legacy chats until deleted or migrated | Delete the conversation or account; provider retention is separate |
| Research choice, text version and decision date | Consent record | Keep research optional and record your choice | Account life; consent can be withdrawn | Withdraw consent stops future participation; delete account erases the owner record |
| Support email address, correspondence and details you choose to send | Support mailbox | Resolve your request | A fixed mailbox retention period is still to be confirmed | Request deletion at hello@worktrust.io; exceptions must be explained |
| Contact/early-access form details and your submitted choices | WorkTrust's own database (Supabase, Ireland); a copy in PanelVote CRM | Follow up the request you submit; newsletter only when chosen | One year in WorkTrust's database, then deleted; sooner when you ask or when your account is erased. CRM retention still to be confirmed | Request correction or deletion at hello@worktrust.io |
| Contact, newsletter and investor forms on worktrust.io and our job sites (such as Talent4Match): your name, e-mail address, the choices you made, the message you typed (at most 2,000 characters), the site and page you sent it from, and your language | WorkTrust console (WorkTrust staff only) | Answering your request | One year, then deleted automatically | Sooner on request at hello@worktrust.io; at once when you delete a WorkTrust account with the same address |
| Website statistics: the page address, its language, where the visit came from (a category and the referring domain), campaign words, country, device type, browser and operating system names, seconds visible, and the wt_v and wt_s cookie IDs as hashed pseudonyms; never your IP address | Our own database (Supabase, EU) | Understanding how the site is used and improving it (consent) | 13 months; then summed into totals without pseudonyms, and the visits deleted | Summed and deleted after 13 months; Don't measure me deletes your browser's earlier visits at once; deleting the cookies in your browser ends the link to them |
| Invited e-mail address, who invited, a note | Invitations | The guest list while the product is tested by invitation | Until removed from the list | An authorised administrator removes the invitation |
| 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 |
| Your CVs: the document in your own words, contact details, an optional small photo, what each CV is for and the listing it was made for; saved versions | Your CVs (your own account only) | The CVs you build and send yourself | Until you delete the CV or a version | Deleting the CV or version; deleting the account |
| What the CV writer proposed (summary, headline, rewritten descriptions of your own entries, a selection of your own skills) with your accept or reject per section; a vacancy you held against a CV and the assessment in words | Your CVs (your own account only); Anthropic for the call you start | Proposals wait for your decision; Job Match prepares you for a vacancy and is never shown to an employer | Until you delete it or the CV | Deleting it or the CV; deleting the account |
| Agent observations you import from the WorkTrust CLI's local file: agent, version, task group, runs, token counts, checks and interventions as the application reported them | Agent teams (your own account only) | Comparing your own agent runs; never human hours, never a score, never shown to an employer | At most 100 recordings; until you delete them | Deleting a recording; deleting the account |
| An application on a job site: what you typed (name, e-mail, a message), an optional PDF CV of at most 4 MB, or with your Passport ID a request waiting in your own app where you choose what to share | The posting company's applications; a quick-apply request in your account | Letting the company that posted the listing consider you | Four weeks after the listing closes, six months when it has no deadline, never past a year; a quick-apply request 30 minutes | Swept automatically; deleting the account; the company removing the listing |
| Signing in to a job site with WorkTrust: which site you allowed and what it may do (see your name and e-mail address, list your CVs by title and date, send an application you confirm); while you are signed in there, your name, e-mail address and the site's WorkTrust tokens, sealed on the site's own server | Your permissions in your account (token hashes only); the job site's own session, sealed with a key only that site holds | Letting you stay signed in on the job site and apply with one click; only the CV you confirm goes to the company | The permission until you withdraw it; a session at most 12 hours, 30 minutes when idle | Withdrawing it under Settings, Platforms (signs you out on the site at once); signing out on the site; deleting the account |
| For companies using the portal: their contact persons at their own clients (name, function, role, e-mail, phone, last contact date) and an optional logo of the client | The company's client records (its own seats only) | The company's own client administration; WorkTrust processes this for the company | As long as the company keeps the client; 24 months after the client is archived | The company deleting the contact or client; with the company account |
| Each platform you connected: which platform, what you approved, a hash of its key, when it last read, and when you disconnected | Platform connections | Letting a platform you chose read what you approved, and stopping it the moment you disconnect | A key lapses 90 days after its last read; the connection record stays until you delete your account | Disconnecting ends access; deleting the account erases the record |
| Each passport card drawn for a platform: its random code, the platform, your passport number, what the card showed (the counts, and your name and headline when you shared them), a fingerprint of it and when it was drawn | Card log | Tracing a copied, printed or leaked card to the platform it was drawn for, and checking a card against what WorkTrust issued | While your account exists | Deleting the account |
| For people who build on developers.worktrust.io: company, website, first and last name, work e-mail, country, the products chosen, when the terms were accepted; the apps, their team, domains and DNS proof, client-secret hash (and the secret itself in the vault, shown only to the app's team), the name and job title of whoever signed the platform terms, a profile photo, hashed recovery codes | Developer accounts, apps and the vault | Running the developer account and its apps, proving who signed the platform terms and which domains a platform controls | Until you delete the developer account or the app; a signature with the name and job title of its signer is kept as proof of the agreement | Deleting the developer account (Settings on developers.worktrust.io) or deleting your sign-in account ends all developer access and removes the registration; deleting an app removes its secret and logo |
| When a developer account was registered and removed: the e-mail address, the company and the moment | Developer account log (WorkTrust staff only) | Support: looking back at who had developer access and when | Two years | Removed automatically after two years |
| Sign-in attempts as keyed hashes of the e-mail address, the account or the connection's network address, with their moments; the security check on sign-in by Cloudflare Turnstile | Sign-in counter; Cloudflare | Stopping password guessing and bots: at most five attempts per account and twenty per connection in any sixty seconds | At most one hour | Removed automatically; the hashes cannot be traced back without the server's key |
| Audit rows: who granted a right, who changed a setting | Audit | Accountability | No fixed deletion period documented yet; legal review required | Separate retention process; not a promise of erasure on account deletion |
| 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 stores keyed network hashes for connection checks. This does not mean that an IP address is never processed: hosting, sign-in, security services and their logs can receive it. Provider log retention, backups and international access require their own documented arrangements. One record keeps the address itself: the security record in the table, for WorkTrust staff only and for 90 days.
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.
Disconnect or revoke access
Manage the connection in Sources or the connector settings in WorkTrust, and in the provider if needed. Revoking access stops new submissions or reads. Uninstalling a plugin does not erase previously submitted evidence. A platform you connected with Connect WorkTrust is disconnected under Share; from that moment it reads nothing.
Withdraw the publication
Verification stops and the publication is marked withdrawn. Your private record and publication history remain. Publishing again requires the current publication checks.
Delete source data
Disconnects cloud sources, removes their secrets and purges derived source analysis. It also withdraws the credential built on that evidence. Your logged/imported work lines and AI-client connections remain; this is not full account erasure.
Delete the account
Removes your account, owned records, stored files and connections through the erasure process. Separate security/audit records, provider backups and copies already obtained by recipients are not covered by a promise that nothing remains. Contact us for a request covering those systems.
Withdrawing a publication, deleting source data and deleting an account require a sign-in less than five minutes old and, where enabled, your second factor. Research and optional chat have their own choices. You can also contact us to exercise your rights.
Website statistics
We count visits to worktrust.io ourselves, in our own database (Supabase, in the EU). We do not use Google Analytics or any advertising tool, and we never share or sell these statistics.
What we keep for each page you open
- The page address, without the part after the question mark. A passport page is counted as a passport page, never which one.
- The language of the page.
- Where the visit came from, as a category: search engine, AI assistant, passport QR code, social media, e-mail, advertisement, another website or direct. Of the referring website we keep only its domain name.
- Campaign words from utm_source, utm_medium and utm_campaign, if the link carried them.
- The country, derived from the network, not your exact location.
- The device type (desktop, mobile or tablet) and the names of your browser and operating system.
- How many seconds the page was visible.
What we never keep
- Your IP address.
- Your full user-agent string.
- The full address of the page you came from.
- Anything you type.
- Your name or e-mail address.
Cookies
We set two first-party cookies. wt_v is a random ID that shows whether a browser comes back; it lasts 13 months after your last visit. wt_s is a random ID for one visit; it ends 30 minutes after your last page. Our database stores them only as a hashed pseudonym.
We count visits only after you allow Statistics in the cookie banner or under Cookie settings at the foot of every page. Until then we set none of these cookies and count nothing.
You can stop the measuring at any time: switch Statistics off under Cookie settings, or press Don't measure me below. We then delete your browser's earlier visits, set a cookie of our own (wt_off) that remembers your choice for 13 months, and count you no more. If your browser sends Global Privacy Control or Do Not Track, we set no cookies and count the page without them. Switching Statistics on again undoes your choice.
Automated visitors, such as search engines and crawlers, are counted per day by type only.
We keep the individual page visits for 13 months. Then each day is summed into totals per day, page, source, country, device, browser and language, without pseudonyms, cookie IDs or single visits, and the visits themselves are deleted. Those totals are no longer about anyone, so we keep them.
In the WorkTrust app and the portal we count, per hour, how many signed-in people use them, to see when the platform is busy. A session is kept only as a keyed hash, for at most fifteen minutes (who is on now) and two hours (who was there this hour); what stays is the count per hour, 13 months. Nobody is named, and the console's own staff are not counted.
Our legal basis is your consent. You can withdraw it at any time under Cookie settings, without affecting the counting before that.
worktrust.io's domain names are served by Cloudflare's DNS; your requests go straight to our host and do not pass through Cloudflare. Bots that ask for a page are counted at our own server, per day and kind only.
We read aggregated search data (search terms, clicks and positions) from Google Search Console. This involves no tracking on our pages.
What an employer can see
An employer can verify only a credential you publish or information you explicitly share through the applicable flow. A credential contains approved identity information, capability counts, levels and dates; it excludes prompts, code, private source details and the work-pattern profile. Connecting ChatGPT, Claude or a cloud source never shares your record with an employer. Copies someone has already received cannot be recalled by withdrawing access.
Automated decisions
Scores are computed from evidence using versioned rules. An AI host may submit estimates, but those are identified as estimates and do not establish a verified capability by themselves. The scores are not calibrated and must not be the sole basis for a hiring decision. Missing or insufficient evidence is not a finding that a person lacks a skill. Contact us to question data or a result.
Recipients and service providers
Supabase provides database, authentication, storage and the secret vault; the configured project region is eu-west-1. Vercel hosts the service and Cloudflare provides network/security services. Sign-in email uses the configured mail service. Anthropic receives data for optional AI features: selected counts for explanations and, for chat, the text you explicitly approve with selected summaries and recent consented history. Upstash can cache private report reads for up to five minutes when enabled. Since 12 October 2026 the CV writer and Job Match send Anthropic the content of the one CV you chose (your own entries by an internal id) and the vacancy you chose, never your name, e-mail, verification id, hours, tokens or levels; every such call is one you start. Cloudflare Turnstile checks sign-in, sign-up and password-reset requests for bots; Cloudflare receives the signals its check needs from your browser, and the result is verified by the authentication service.
Site forms are kept in WorkTrust's own database and read in its console; PanelVote CRM receives a copy of the forms on worktrust.io. OpenAI/ChatGPT, Anthropic/Claude and connected source providers operate their own services under their own terms; WorkTrust returns receipts, not your private report, to MCP clients. The support mail provider, processor agreements, international transfer safeguards and provider retention still need operational confirmation. This draft makes no blanket promise of EU-only processing or no provider training.
Questions and rights
Email hello@worktrust.io for access, correction, deletion, portability, restriction or an objection to processing, as applicable under the GDPR. You may withdraw consent for optional processing without affecting its prior lawfulness. We may need to verify your identity without asking for your password or login code. You can complain to the Dutch Autoriteit Persoonsgegevens or your competent supervisory authority.
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. |
| PanelVote (CRM) | Receives a copy of the forms on worktrust.io: early access, contact, newsletter, investors. WorkTrust's own database keeps the record. | 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 DPADraft edition of 18 October 2026. Contracting party: Oravtia B.V., KvK 98076051. Legal review remains open. WorkTrust scores are not calibrated and are not a validated hiring instrument.
1.About this agreement
This agreement is between you and Oravtia B.V. (WorkTrust), KvK 98076051, correspondence address Strawinskylaan 3051. It covers the WorkTrust service, its MCP apps for ChatGPT and Claude, local connections and source integrations. The correspondence address is a mailing address. The privacy statement explains personal-data processing. Separate open-source licences continue to govern components distributed under those licences.
2.Eligibility and acceptance
The app asks you to accept the applicable terms and records the document version and time. You must be at least sixteen and authorised to connect the accounts, teams, devices and projects you select. Provider authorisation and agreement acceptance are not blanket consent for research, optional AI chat or sharing with an employer.
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.
From version 0.10.18 the WorkTrust CLI is licensed under the WorkTrust CLI Licence (see LICENSE in the package), free of charge: its preserve feature for everyone, with or without an account; every other feature for WorkTrust account holders. Copying, modifying or redistributing its code is not allowed. Versions up to and including 0.10.17 remain under the MIT licence they were published with. These service terms do not take away rights granted by those licences or the licences of third-party components.
4.Apps, CLI and source integrations
ChatGPT and Claude use the MCP connection to submit work metadata and receive receipts. They cannot retrieve your private record, scores or scoring method through it. Imports cover only history actually accessible to the host. AI estimates and the short work-pattern profile wait for approval in WorkTrust. Installing the app provides no automatic access to all conversations and no guarantee that every completed task will be logged.
The CLI derives supported measurements locally. GitHub, Vercel, Hugging Face and Supabase sources read authorised metadata to corroborate activity; they do not modify your projects. Each source exposes different evidence and limits. The privacy statement describes these per source. Reported history, model estimates, local measurements and independent source evidence are kept distinguishable. The npm and Python distributions share the CLI engine. The optional Python agent recorder requires deliberate instrumentation and local recording consent; installation alone does not observe agents. Reported security events, check results and efficiency counts are descriptive application reports, not proof of safety, human skill or independent verification. A private account upload requires a separate user action when that feature becomes available.
5.Permissions and connected data
You choose which sources and projects to connect and approve the access shown by WorkTrust and the provider. OAuth grants, installation references and device keys are used only for that connection. Some providers offer permissions broader than the metadata WorkTrust reads; WorkTrust limits its own use to the documented operations. Never send credentials through a chat message or support email.
Evidence inputs are limited to neutral descriptions, fixed categories, dates and counts, with private project references where supported. Do not submit prompts, answers, code, file paths, client names or sensitive personal matters. The optional work-pattern profile is a short text you inspect; optional WorkTrust AI chat, account details and support requests are separate flows with their own purposes.
6.Verification and research use
WorkTrust processes connected evidence to provide your record and the measurements shown to you under versioned standards. Research and calibration are separate purposes. Research participation is off by default and can be withdrawn in Settings. Accepting these terms, connecting a source or approving an import does not opt you into research or individual calibration.
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
OpenAI/ChatGPT, Anthropic/Claude, GitHub, Vercel, Hugging Face, Supabase and other providers operate under their own terms and privacy policies. WorkTrust offers its own integrations and does not control provider availability, permissions, APIs or access to conversation history. A provider listing does not mean the provider endorses WorkTrust measurements.
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 can revoke a connection in WorkTrust and remove its access at the provider. This stops future access; uninstalling a plugin does not erase previously submitted data. Deleting source data removes source analysis and withdraws the related credential, while logged or imported work lines can remain. Account erasure is a separate action, subject to the retention details in the privacy statement. WorkTrust may terminate access for misuse, fabricated evidence or a 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
Updated terms carry a dated version. The app requests acceptance when the applicable version changes and records which version you accepted. Optional processing still requires its own applicable choice. Earlier versions can be requested from support.
20.Contact
Contact hello@worktrust.io about these terms, connections or support. The support page is at worktrust.io/support. Privacy requests and the supervisory-authority complaint route are described in the privacy statement at worktrust.io/privacy.
Version of 17 October 2026, signed on developers.worktrust.io before live access to a product. The English text is the signed text. Draft: legal review of the roles (independent controller or processor) and of the form of signature remains open.
These terms apply to every platform that reads data from WorkTrust passports through Connect WorkTrust. Live access to a product is given only after they are signed for the app.
1. What you receive
Only what the person approved on WorkTrust's approval screen, per product: their passport number and link, the counts of their verified AI work, their published name, headline and photo. Never their private report, prompts, sources or anything they wrote.
2. What you may use it for
Only for the purpose you show the person on your platform, such as signing in or showing their verified AI work on their profile. You do not sell, rent or pass the data to anyone else, and you do not combine it into profiles beyond that purpose.
3. No automated hiring decisions
WorkTrust figures are observed work within a stated window, not a verdict on a person, and they are not calibrated. You never use them as the only basis for a decision about someone's employment: a person reviews every such decision.
4. Security
You keep the client secret on your server only and never in a browser or a downloadable app, you rotate it at once if it may have been exposed, you only call WorkTrust over HTTPS, you limit access to the data to the people who need it, and you protect it with security measures that fit personal data.
5. Keeping and deleting
You keep the data only as long as the purpose needs it and read it again rather than storing copies. When the person disconnects your platform or asks you to delete their data, you delete what you received from WorkTrust within 30 days.
6. Incidents
If data received from WorkTrust may have been accessed by someone without the right to it, you tell WorkTrust at support@worktrust.io within 48 hours and work with us on what follows.
7. Your responsibility
For the data you receive you are responsible yourself under the GDPR. Your privacy policy, linked on your app, tells people what you do with it.
8. Suspension
WorkTrust may pause or block your app when these terms are not kept or when people's data is at risk, and may ask you to show how you keep them.
9. New versions
When these terms change, live access to a new product is requested under the new version, which is signed again.
10. Showing the passport
You show WorkTrust data only with WorkTrust's own passport card and button from the Connect kit, as provided. You make no passport design of your own from WorkTrust data and change nothing in it: not the figures, the name, the photo, the QR code or the dates, and you add no score, rank or badge. The card's design is WorkTrust's and you may use it only for this purpose.
11. Nothing comes back
You send no data about the person back to WorkTrust and cannot change their passport. WorkTrust only counts how many people connected your platform, how many keys are active and how often the passport is read. The person can disconnect your platform in WorkTrust at any time.
Everything you need to get started with WorkTrust.
Install
One command. It shows a plan, asks before it changes anything, and opens your browser.
Python alternative: uvx worktrust or pipx run worktrust. The same commands and measurement engine apply.
Python 3.10 or newer. Supported wheels include their own Node runtime: no separate Node installation. macOS 11+, Windows 10+ and Linux with glibc 2.28+ on x64 or ARM64; Alpine Linux is not supported.
CLI 0.10.14 adds an optional Python recorder for explicit agent events. It records local metadata only and does not discover agents automatically or upload recordings; you import a file yourself under Sources → Agent teams to compare runs privately.
Direct download (requires Node)
The npm and direct-download routes require Node.js 18 or newer; SQLite-based readers require Node 22.5 or newer. Python wheels include a compatible runtime.
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
- worktrust on PyPI
- Official Python distribution for uvx and pipx, with the same CLI engine and a bundled runtime.
- 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 AI-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.
