Last updated: 2026-04-21
Keyquill is a family of client-side libraries and a browser extension that lets you use your own LLM API keys without trusting any intermediary server. This policy explains what the Keyquill software does — and, more importantly, what it does not do — with your data.
Nothing.
keyquill-extension)chrome.storage.session (Chrome) / browser.storage.session (Firefox).keyquill-mobile)kSecAttrAccessibleWhenUnlockedThisDeviceOnly) / Android Keystore, hardware-backed where available.keyquill-relay)Only the LLM provider you configured (OpenAI, Anthropic, Gemini, etc.).
The first time a web app requests Keyquill access, the extension shows a consent popup asking you to approve that origin. Approved origins are stored in chrome.storage.local and can be revoked at any time from the extension popup.
registerKey) and deletion (deleteKey) are only available from the extension popup. Web pages cannot register or delete keys.| Permission | Why |
|---|---|
storage |
To persist per-origin consent grants (chrome.storage.local) and to hold keys ephemerally (chrome.storage.session). |
content_scripts on http://*/* + https://*/* |
To let the SDK on any web app communicate with the extension via a content-script relay. A page script without our content script cannot call the extension. |
We do not request:
tabs / activeTabwebRequesthistorycookiesidentityThe only third parties that receive any data are the LLM providers you choose to use. Please review their privacy policies separately.
Report issues or questions via GitHub: https://github.com/R-Okauchi/keyquill/issues.
Material changes will be reflected in the commit history at https://github.com/R-Okauchi/keyquill and noted in the Last updated date above.