Web Page Content
When you trigger a capture, Ronin reads the content of the active tab — text, title, URL, and metadata. This content is processed locally and written directly to your Obsidian vault on your filesystem.
It is never sent to Ronin's servers because Ronin has no servers.
AI Provider API Keys
If you configure an AI provider (Ollama, OpenAI, Anthropic, or OpenRouter), your API keys are stored locally in chrome.storage.local — browser-managed, device-local storage.
Keys are sent only to the AI provider's API endpoint you configured. Ronin does not proxy, log, or retain these keys.
Obsidian Vault Access
Ronin uses the browser's File System Access API to write Markdown files directly to your Obsidian vault. You grant this access explicitly via a folder picker. The vault path is stored in chrome.storage.local.
Ronin only writes files — it does not read existing vault contents.
Capture History
Ronin stores a local history of captured URLs in browser IndexedDB for duplicate detection. This data never leaves your device and is automatically cleaned up after 90 days.
Network Requests
Ronin makes network requests only to:
- Your configured AI provider (e.g.,
api.openai.com,api.anthropic.com,localhost:11434for Ollama) — only when you use AI enhancement features - No other external endpoints
The extension modifies headers on requests to localhost:11434 to enable CORS communication with the local Ollama AI server. These are localhost requests that never leave your machine.
Permissions Justification
| Permission | Why |
|---|---|
| activeTab | Read page content when you click Capture |
| storage | Store settings and capture history locally |
| scripting | Inject capture UI into pages on demand |
| contextMenus | Right-click capture shortcut |
| declarativeNetRequest | Enable CORS for local Ollama requests |
| <all_urls> host permission | Capture content from any page you visit |
Contact
Questions? Open an issue at github.com/your-repo/ronin.