Human, AI, or paste. Tagged on every line. Graded by confidence. From your editor to the whole org.
npm install -g @omnitype-code/clinpm install -g @omnitype-code/cliomnitype daemonomnitype blame src/index.tsomnitype hooks installomnitype signal --model gpt-4o --tool aideromnitype setup-vscode-hookomnitype statusA 95% AI commit can be great engineering or a liability. Provenance gives you the data to ask the right question, not a verdict.
A dev reads a 400-line AI suggestion, spots the race condition on line 312, writes 8 lines to fix it, ships. The commit is 95% AI. The 5% is what matters.
Same number. Different context. Provenance surfaces the data. Your team supplies the judgment.
Every line classified at write-time: typed manually, AI-generated, or pasted. No surveys, no self-reporting. Objective data, like logs and metrics.
Signed SDK events, or one JSON file. Every span graded by confidence tier. Claude Code ships it natively.
~/.omnitype/active-model.jsonVS Code extension or CLI. Both free.
npm install -g @omnitype-code/cliNo fluff. How it works, what it sees, and what it doesn't.
It tells you — and your team — how your codebase actually gets built. Lines are tagged as manually typed, AI-generated, or pasted, and that attribution travels with your commits so you have an honest, ongoing record of how code authorship breaks down.
The VS Code extension watches how text enters your editor. Characters you type one by one are marked manual, a suggestion you accept from Copilot, Cursor, or Codeium is marked AI, and anything inserted with Ctrl+V is marked paste. Where the editor gives a clear signal — a keystroke, a paste, an accepted completion — attribution is exact. For bulk changes from external tools it uses the best available signal and labels the result with a confidence level, so a composition is an honest estimate, never a verdict.
Your source files stay on your machine — the extension analyzes them locally and only syncs the resulting composition ratios, something like '68% manual, 24% AI, 8% pasted' per commit. The one exception is prompt insights, an opt-in feature: when enabled, the prompts you send to AI tools are captured so the dashboard can show what works. If you paste code into a prompt, that text travels with the prompt. You can turn prompt capture off at any time.
When you install the extension, it sets up git hooks in your workspace. Every time you commit and push, those hooks attach provenance metadata to the commit. Your org dashboard then shows a per-file, per-branch, per-contributor breakdown — built entirely from commit history.
Your composition ratios and overall coding activity — the manual / AI / paste mix of your commits and how much you've been coding. They never see your source files or diffs. If your team turns on prompt insights, the prompts you send to AI tools are part of that view (so the team can learn what works), and you can switch prompt capture off whenever you want. It's there to understand how code gets built, not to watch you.
A picture of how your team's code gets written — the manual vs AI mix per repo and branch, adoption of AI tooling, and shifts in those patterns worth a conversation. It's designed to start questions, not hand you a verdict on anyone. You only see members assigned to your team, you see aggregates rather than individual diffs or code, and developers can see exactly what you see about them.
No noticeable impact. It works from editor events as you type and keeps a small local index so attribution survives restarts. There's no keylogging and no remote scanning — the analysis runs on your machine and only composition ratios leave it.
The extension tracks files as you open and edit them. Files you haven't touched since installing it, or files generated by tools like npm or build pipelines, won't appear — they were never typed. Coverage grows naturally as you work.
Because they usually are. package-lock.json is written by npm — you never typed it. tsconfig.json often gets auto-filled by IntelliSense. So the tag is doing its job, but these files just add noise: add generated files to .omnitype/ignore to exclude them from the dashboard entirely.
It's a deliberate practice tool — you practice typing real code in the languages you actually use, so your muscle memory matches your daily work. Think of it as a gym for your fingers. It's completely optional and separate from the provenance tracking.
The VS Code extension, provenance tracking, and individual dashboard are free. Team dashboards and org features require a plan. Assessment packs for hiring are available as one-time purchases.
Install the OmniType extension from the VS Code Marketplace, sign in with a free account, and open any project. The extension starts tracking immediately. Push a commit and your first provenance data appears in the dashboard within seconds.
Questions, demos, integrations. You get a real answer.