AI Features & Privacy
Learn how AssisT handles AI processing with local LLMs, browser-native WebLLM, and optional cloud APIs while keeping your data private.
Overview
AssisT uses a privacy-first hybrid AI system that gives you four ways to use AI features, from completely offline to cloud-powered. Your data stays on your device by default. All 8 AI features are routed through a shared AI client that consistently handles mode detection, availability checking, and response generation.
Two settings shape what comes back from every one of them. Personalised AI feeds your learning profile into each AI feature rather than only one or two, so the output matches how you said you read and work. The reading-level dial sets how simply summaries and simplifications are written, so you can ask for the same passage again at a level that suits you. Both are companion preview features and can be switched off individually.
Four AI Modes
AssisT offers flexible AI processing with four distinct modes:
| Mode | Privacy | Cost | Performance | Requirements |
|---|---|---|---|---|
| Off | N/A | Free | Features disabled | None |
| Local AI (Ollama) | 100% Private | Free | Good (hardware-dependent) | Ollama installed |
| Browser AI (WebLLM) | 100% Private | Free | Good (GPU-dependent) | WebGPU-capable browser |
| Cloud AI (API) | Your API only | Free (Gemini) or paid | Excellent | API key |
You can switch between modes instantly using the inline AI mode switcher in the popup — click Off, Cloud, Browser AI, or Local AI chips to switch without leaving the page.
Key Principles
- Your Choice: Pick the AI mode that matches your privacy and performance needs
- No Data Collection: We never see, store, or transmit your data
- Bring Your Own Key: Cloud mode uses your own API keys, not ours
- Graceful Fallback: Features work even without AI (with reduced functionality)
Local AI with Ollama
AssisT integrates with Ollama, a free, open-source tool that runs AI models directly on your computer.
Why Local AI?
| Benefit | Description |
|---|---|
| Privacy | Data never leaves your device |
| Compliance | No text leaves the device, so nothing is disclosed to any provider |
| No Cost | No API fees or subscriptions |
| Offline | Works without internet connection |
| Speed | No network latency for requests |
Live Model Selector
AssisT auto-detects all models installed on your Ollama instance and shows them in a live dropdown in the popup’s Local AI panel. You can:
- See all your installed models at a glance
- Switch between models without restarting
- Your selection persists across sessions
Recommended Models
| Model | Size | Best For |
|---|---|---|
| qwen3:8b-q4_K_M | 5GB | Default — best JSON compliance, instruction following |
| llama3.1:8b | 5GB | Strong general-purpose, good reasoning |
| gemma3:4b | 3GB | Fast responses for basic tasks |
| deepseek-r1:8b | 5GB | Code and reasoning tasks |
| mistral:7b | 4GB | Complex analysis, detailed responses |
| llava | 4GB | Image understanding (vision) |
Task-Optimised Model Routing
AssisT automatically selects the best available model for each task:
| Task | Priority Models |
|---|---|
| Knowledge Graph | gemma3:4b, qwen3:8b |
| Socratic Tutor | qwen3:8b, llama3.1:8b |
| Citation Analyzer | qwen3:8b, mistral:7b |
| Study Path Generator | qwen3:8b, llama3.1:8b |
| Assignment Breakdown | qwen3:8b, llama3.1:8b |
| Summarisation | Any available model |
| Text Simplification | Any available model |
Reasoning Models
qwen3 and deepseek-r1 think out loud before answering. AssisT handles that: their thinking text is kept out of the answer you see, and requests that need structured JSON back (Knowledge Graph, Citation Analyzer, mind-map building) still get valid JSON from them.
Permission
AssisT does not ask for access to your local AI server at install time. The loopback address it needs (localhost or 127.0.0.1, port 11434) is an optional permission, requested only at the moment you actually turn local AI on.
So the first time you switch Local AI on, or press Apply on a custom server address, Chrome shows an “Allow” prompt. Choose Allow and AssisT can reach Ollama. If you dismiss it, or press Check outside that prompt, the popup tells you that local AI needs your permission rather than telling you to start Ollama, because a missing permission and a stopped server look identical from the outside and only one of them is fixed by starting Ollama.
Two things follow from this. A student who never uses local AI is never asked for the permission at all, which is the least-privilege position this project holds itself to. And because Chrome will only show the prompt during a press, it appears on the switch or on Apply, never on its own later.
You can withdraw the permission whenever you like, under Chrome’s extension settings for AssisT. Local AI then stops working until you grant it again, and everything else is unaffected.
Server Address
By default AssisT looks for Ollama at the usual loopback address. If your install listens on a different port, set the address in the Local AI panel and AssisT will use it. The public build only accepts loopback addresses, because a custom remote host is blocked by the extension’s content security policy by design; an institution running a shared Ollama server for its students adds that host to its own build.
Installing Ollama
- Download Ollama from ollama.com/download
- Install and run Ollama on your computer
- Pull a model:
ollama pull qwen3:8b-q4_K_M - AssisT will automatically detect it
How Local AI Works
Your Browser (AssisT)
↓
Message Bridge
↓
Ollama (localhost:11434)
↓
AI Response
↓
Back to AssisT
All communication happens locally on your machine. Nothing is sent to external servers.
Browser AI with WebLLM
AssisT supports browser-native AI powered by WebLLM and WebGPU. Models run entirely inside your browser tab — no server, no API key, no software to install.
Why Browser AI?
| Benefit | Description |
|---|---|
| Zero Install | No Ollama or other software needed |
| Privacy | All processing happens in your browser |
| No Cost | Completely free |
| Portable | Works on any WebGPU-capable device |
Available Models
| Model | Size | Best For |
|---|---|---|
| llama-3.2-1b | ~1GB | Ultra-fast, basic tasks |
| gemma-2b | ~2GB | Balanced small model |
| phi-3.5-mini | ~3GB | Strong reasoning for its size |
| qwen2.5-3b | ~3GB | Good multilingual support |
| llama-3.2-3b | ~3GB | Capable general model |
| mistral-7b | ~5GB | Complex analysis |
| llama-3.1-8b | ~6GB | Most capable browser model |
| gemma-9b | ~5.4GB | Gemma 2 9B, strongest reasoning |
Model Management
The popup shows three model states:
- Loaded (green) — Ready to use, currently in memory
- Cached (blue) — Downloaded to device, loads quickly
- Available (grey) — Needs downloading first
Models are downloaded once and cached in browser storage. Subsequent loads are fast.
How Browser AI Works
Your Browser (AssisT)
↓
WebLLM Engine (WebGPU)
↓
GPU-Accelerated Inference
↓
AI Response (in-browser)
Everything happens inside your browser. No external connections whatsoever.
Requirements
- Chrome 113+ or any browser with WebGPU support
- Dedicated GPU recommended for larger models (integrated GPUs work for 1-3B models)
- Sufficient storage for model downloads (1-6GB per model)
Cloud Providers (Optional)
For users who want more powerful AI capabilities, AssisT supports multiple cloud providers through API keys you provide.
Supported Providers
| Provider | Strengths | Best For |
|---|---|---|
| Anthropic (Claude) | Coding, academic writing, analysis | Text simplification, tutoring |
| OpenAI (ChatGPT) | Creative, conversational | Brainstorming, general tasks |
| Google (Gemini) | Multimodal, visual, factual | Image understanding |
| Perplexity | Real-time web, citations | Research, fact-checking |
Bringing Your Own API Key
- Get an API key from your preferred provider:
- Anthropic Console (Claude)
- OpenAI Platform (ChatGPT)
- Google AI Studio (Gemini)
- Perplexity Settings
- Open AssisT settings
- Go to AI Settings > Cloud Providers
- Select your provider and enter your API key
- Choose your preferred model
Cost vs Quality
Every provider offers a fast, cheap model and a slower, more capable one, and the model picker groups them that way:
| Model type | Cost | Best for |
|---|---|---|
| Fast | Cheapest per token | Summaries, simplification, high volume |
| Balanced | Moderate | Most everyday use |
| Quality | Highest per token | Knowledge Graph, Multi-Document Compare, anything where accuracy matters |
Tip: Start with the fast model. Move up only when an answer is not good enough.
API Key Security
- Your API keys are encrypted with AES-256 and stored locally in Chrome’s secure storage
- They are never sent to Fiavaion servers
- Only transmitted directly to the provider when you use cloud features
- You can remove them anytime from settings
Which models you can choose
AssisT does not ship its own list of model names for you to memorise. When you pick a provider, the model dropdown shows the current models that provider offers, with a recommended default already selected. Model names change several times a year, so they are not printed in this documentation; open the dropdown to see what is available today.
| Provider | Cost | Notes |
|---|---|---|
| Google Gemini | Free tier, no credit card | The default provider for anyone starting out. Gemini 2.5 Flash is the default model. Daily limits reset automatically, and you are never charged unless you deliberately set up billing on Google Cloud |
| Anthropic | Paid | Claude models. Strong on careful reading and explanation |
| OpenAI | Paid | GPT models. You need credit on the account first |
| Perplexity | Paid | Sonar models, unique in providing real-time web access with citations, so they suit research and fact-checking |
Recommendation: If you have no API key and no strong preference, use Google Gemini. It is free, the key takes about a minute to create, and the free daily allowance covers normal student use.
Feature defaults: each AI feature asks for a model suited to it rather than always using the same one, so a summary is answered by a fast model while Knowledge Graph and Multi-Document Compare go to a more capable one. You can override the choice in AI settings.
Gemini Nano (Experimental)
Chrome’s built-in Gemini Nano model provides on-device AI processing without installing anything.
Status
Gemini Nano support is experimental and takes second place to WebLLM (Browser AI), which offers more models, better control and wider browser compatibility. It remains available for advanced users who have already enabled Chrome’s experimental flags. Detection was fixed in 1.0.0: if you have the flag on and the model downloaded, AssisT now finds it instead of reporting it as unavailable.
Requirements
- Chrome 128 or later (Canary, Dev, Beta, or Stable)
- Feature flag enabled: Visit
chrome://flags/#optimization-guide-on-device-modeland set to “Enabled” - Model download: Chrome downloads the model automatically on first use
Gemini Nano vs WebLLM vs Ollama
| Feature | WebLLM (Browser AI) | Gemini Nano | Ollama |
|---|---|---|---|
| Setup | None — just download a model | Chrome flag required | Install separate app |
| Model Choice | 8 models (1B-8B) | Single model (Google’s) | Unlimited models |
| Performance | Good, GPU-accelerated | Basic tasks only | Best for complex tasks |
| Browser Support | Chrome 113+ | Chrome 128+ with flags | Any browser |
| Customisation | Choose model per task | Limited | Full control |
Recommendation: Use Browser AI (WebLLM) for zero-install private AI, or Ollama for maximum capability. Gemini Nano is best suited for users already familiar with Chrome feature flags.
How the AI Mode System Works
AssisT routes all AI requests through a shared AI feature client (ai-feature-client.js) that provides consistent mode detection, availability checking, and response generation across all 10 features.
Feature Request (any of 10 AI features)
↓
Shared AI Feature Client
↓
getAIMode() → reads aiMode from storage
↓
┌────────┬────────┬──────────┬─────────┐
│ │ │ │ │
OFF Cloud WebLLM Ollama Gemini
│ │ │ │ (experimental)
│ API Key WebGPU localhost
│ + Model Engine :11434
│ │ │ │
└→ Status Generate Generate Generate
bar ↓ ↓ ↓
Response Response Response
Persistent Status Bars
Every AI feature displays a persistent status bar showing:
- Orange warning when AI is unavailable (with setup links)
- Green success after a successful generation
- Mode indicator showing which AI backend processed the request
Feature Compatibility by Mode
| Feature | WebLLM | Ollama | Cloud |
|---|---|---|---|
| Summarisation | ✅ | ✅ | ✅ |
| Text Simplification | ✅ | ✅ | ✅ |
| Assignment Breakdown | ✅ | ✅ | ✅ |
| Socratic Tutor | ⚠️ Basic | ✅ | ✅ |
| Multi-Doc Compare | ⚠️ Basic | ✅ | ✅ |
| Knowledge Graph | ⚠️ Small texts | ✅ | ✅ |
| Citation Analyzer | ✅ | ✅ | ✅ |
| Study Path Generator | ⚠️ Basic | ✅ | ✅ |
| Image Understanding | ❌ | ✅ (llava) | ✅ |
| Research & Citations | ❌ | ❌ | ✅ (Perplexity) |
Fallback Behaviours
When AI isn’t available, features gracefully degrade:
| Feature | Fallback Behaviour |
|---|---|
| Summarise | Shows first paragraph |
| Simplify | Feature disabled with status message |
| Image Describe | Requires vision model |
| Knowledge Graph | Disabled with status message |
Privacy Guarantees
What We Never Do
- Collect or store your data
- Send data to our servers
- Track your AI usage
- Share information with third parties
What Stays Local
- All text you process
- Documents you summarise
- Images you analyse
- Conversation history
What this means for GDPR and FERPA
With Local AI or Browser AI, nothing you process is transmitted anywhere:
- GDPR: Fiavaion processes no personal data. With a cloud provider, that provider is your own sub-processor under your agreement with them, not a sub-processor of Fiavaion’s
- FERPA: AssisT is designed with FERPA principles in mind — no student data is collected
- HIPAA: no claim is made. AssisT is not a healthcare application and has not been assessed against HIPAA
Institutions evaluating AssisT should read the privacy and data-processing statement and the sub-processor list.
Performance Tips
For Best Local AI Performance
- Use an SSD: Faster model loading
- 8GB+ RAM/VRAM: Required for larger models
- Keep Ollama Running: Faster first response
- Choose Appropriate Models: Match model size to your hardware
Why Memory Matters
- More VRAM = Better Models: With more video memory (or unified memory on Apple Silicon), you can run larger, more capable models
- More Memory = Longer Context: Additional memory allows longer context windows—the AI can “remember” more of your document
- Longer Context = Fewer Hallucinations: When AI sees more context, it makes fewer mistakes because it has more information to work with
Memory Types
| Type | What Matters | Notes |
|---|---|---|
| Dedicated GPU | VRAM (8GB good, 12GB+ great) | NVIDIA/AMD graphics cards |
| Apple Silicon | Unified memory (16GB good, 32GB+ excellent) | M1/M2/M3/M4 Macs |
| CPU-only | System RAM (16GB min, 32GB recommended) | Slower but works |
Recommended System Requirements
| Setup | RAM/VRAM | Storage | Models |
|---|---|---|---|
| Minimal | 8GB | 4GB free | gemma3:4b |
| Standard | 16GB | 8GB free | qwen3:8b-q4_K_M |
| Full | 32GB+ | 15GB free | Multiple models + longer context |
Troubleshooting
Ollama Not Detected
- Ensure Ollama is installed and running
- Check that it’s accessible at
localhost:11434 - Open a browser and visit localhost:11434 — you should see “Ollama is running”
- Restart Ollama if needed
- Refresh the AssisT extension
Ollama Model Not Showing in Dropdown
- Verify the model is installed: run
ollama listin your terminal - Ensure Ollama is running (the dropdown fetches models live)
- Try closing and reopening the AssisT popup
WebLLM Model Won’t Load
- Check your browser supports WebGPU — visit
chrome://gpuand look for “WebGPU” in the feature list - Ensure you have enough GPU memory for the model (1-6GB depending on model)
- Try a smaller model (llama-3.2-1b or gemma-2b)
- Close other GPU-intensive tabs or applications
- Restart Chrome if the GPU context is corrupted
WebLLM Shows “Not Downloaded”
- Click the Download button next to the model
- Wait for the download to complete (shows progress bar)
- Larger models (7B+) may take several minutes depending on connection
- Downloaded models are cached in browser storage — they persist across sessions
Slow AI Responses
- Local AI: Try a smaller Ollama model (gemma3:4b is fastest)
- Browser AI: Use a smaller WebLLM model (1B-3B range)
- Ensure no other AI requests are processing simultaneously
- Check your system’s available memory/VRAM
- Close other resource-intensive applications
AI Feature Shows Orange “Unavailable” Bar
This status bar appears when the selected AI mode can’t be reached:
- Cloud mode: Check your API key is entered and valid
- Local mode: Ensure Ollama is running at localhost:11434
- Browser AI: Load a WebLLM model first (click the status bar for setup)
- Off mode: Switch to an active AI mode using the mode chips in the popup
AI Response Times Out
Some AI operations (especially Knowledge Graph and Multi-Doc Compare) may timeout on slower hardware. AssisT uses a 25-second timeout for all async operations. If you experience timeouts:
- Try shorter input text
- Use a faster model
- Switch to Cloud AI for complex operations
Model Download Failed
- Check your internet connection
- Ensure enough disk space is available
- Try downloading a smaller model first
- Restart Ollama (for local) or Chrome (for WebLLM) and try again