Turn on Chrome's built-in AI for ContractFocus
ContractFocus uses Chrome's built-in Gemini Nano model, entirely on your device, to classify legal documents and produce plain-English summaries. If Chrome's Prompt API and Summarizer API are available on your machine, ContractFocus will light up those features automatically. If they aren't, the extension still runs: the deterministic clause pattern matcher surfaces every red flag regardless. This guide walks you through the one-time AI setup.
System requirements
Chrome's built-in AI runtime has hardware and OS constraints. Before you start, confirm your machine meets them. These minimums are set by Google for the Prompt API on device.
Not sure what version of Chrome you have? Open chrome://version in a new tab. The number after "Google Chrome" on the first line should be 138 or higher.
Step 1 · Enable the Prompt and Summarizer flags
Copy each URL and paste it into the Chrome address bar (flag URLs can't be clicked as links for security reasons):
chrome://flags/#prompt-api-for-gemini-nano chrome://flags/#summarization-api-for-gemini-nano chrome://flags/#optimization-guide-on-device-model
- Prompt API for Gemini Nano → Enabled
- Summarization API for Gemini Nano → Enabled
- Enables optimization guide on device → Enabled BypassPerfRequirement (this last one is only needed on machines under the stated VRAM floor)
ContractFocus needs both the Prompt API (for document-type classification) and the Summarizer API (for the plain-English bullet summary). Without the Summarizer flag, the side panel falls back to a templated summary built from matched clause flags.
After changing a flag, Chrome shows a blue Relaunch button at the bottom right. Click it. Your tabs will reopen after restart.
Step 2 · Download the Gemini Nano model
The Prompt and Summarizer APIs share the same on-device model component. Chrome downloads it in the background once you start using the APIs, but you can trigger and confirm the download through the Components page.
Paste this URL into the address bar:
chrome://components
Scroll to the entry named Optimization Guide On Device Model. If the version shows as 0.0.0.0, the model hasn't been downloaded yet.
Click Check for update. The status will change to "Downloading" and then, once complete, the version will show something like 2024.11.xx.xxxx.
Step 3 · Verify the setup works
Open the Chrome DevTools console on any regular webpage (right-click → Inspect → Console tab) and paste this check:
(async () => {
if (!('LanguageModel' in self)) {
console.log('Prompt API not available in this build');
return;
}
const promptStatus = await LanguageModel.availability();
console.log('LanguageModel availability:', promptStatus);
if ('Summarizer' in self) {
const sumStatus = await Summarizer.availability();
console.log('Summarizer availability:', sumStatus);
} else {
console.log('Summarizer API not available in this build');
}
})();
You're looking for one of these responses per API in the console:
"available"— you're done, ContractFocus AI features are ready."downloadable"or"downloading"— the model still needs to finish downloading. Check back in a few minutes."unavailable"— something is off, see troubleshooting below.
Troubleshooting
Availability says "unavailable"
The most common causes:
- Flag didn't stick. Revisit
chrome://flags/#prompt-api-for-gemini-nanoandchrome://flags/#summarization-api-for-gemini-nanoand confirm each reads Enabled, not Default. - Hardware doesn't meet the minimum. Chrome silently disables the APIs on machines under the VRAM/RAM floor. Enable
chrome://flags/#optimization-guide-on-device-modelas Enabled BypassPerfRequirement and relaunch. - Free disk space. You need at least 22 GB free for the model to download and expand.
- Enterprise policy. If your Chrome is managed by an employer, the Prompt and Summarizer APIs may be disabled by policy. Check
chrome://policyforGenAILocalFoundationalModelSettings.
Model version stays at 0.0.0.0
Chrome will not start the download until you've actually tried to use one of the APIs once in a page where the flag is enabled. Paste the verification snippet above into DevTools, leave the tab open for a minute, then revisit chrome://components and click Check for update again.
Side panel status pill reads "Fallback mode"
If ContractFocus can't reach the Prompt or Summarizer API, it runs in fallback mode: the clause pattern matcher still flags all 34 patterns and a templated summary is generated from the flag list. To re-enable the AI pathway:
- Confirm
LanguageModel.availability()andSummarizer.availability()both return"available"using the snippet above. - Close and reopen the side panel so the panel re-checks feature detection on load.
- If it still doesn't light up, email dev@loopheadlabs.com with your Chrome version (
chrome://version) and OS. We'll dig in.
Summary appears but document type says "Unknown"
The Prompt API classifier has a confidence threshold. On short or paywalled pages, the classifier may return "Unknown" while the Summarizer still produces output. The extension will still run all five clause packs against the extracted text, so you aren't losing any red-flag detection. To force a specific document type, use the dropdown above the summary on the side panel.
Does this work in Chromium, Edge, Brave, or Arc?
At launch, Google ships the Prompt API, Summarizer API, and the Gemini Nano model only in Chrome Stable and Chrome Canary. Chromium-based browsers that don't bundle the Optimization Guide component will not have the APIs available, so ContractFocus falls back to the pattern-matcher-only mode. The clause detection, history, version-change alerts, and exports all still work on those browsers. Only the AI-generated summary requires Chrome.
What stays on your device
Everything relevant to the AI features. ContractFocus never sends page content, uploaded file content, or AI output to any server. The Prompt and Summarizer APIs run inference locally using the Gemini Nano model that Chrome stored on your disk. We don't have an API key to give you, because there's no network call in the pipeline to make one on.
The only data that can leave your device is the optional Team plan sync, which writes redacted summary records (not raw contract text) to Firebase Firestore. See the Team plan setup page and Privacy Policy Section 5 for the full breakdown.