Privacy Policy
Docinline is a browser extension that reads the Google Doc you have open, sends a slice of that text to an AI model, and writes the result back into the same document. This page describes that flow. It is not a generic GDPR template.
If you create a Docinline account, we store your email, a password hash, your plan, and
how many runs you have used on our servers (api.docinline.com). The assignment
text still goes to the AI provider for that run. Google sign-in is optional and stays
between you and Google.
1. What we handle
Only when you click Solve or Send:
| Item | Detail | Source |
|---|---|---|
| Open document | Title, body (up to 18,000 characters in the model request), blank counts, table snippets (up to 8,000 characters of JSON) | The Google Docs tab you are on |
| Your prompt | Up to 4,000 characters, or nothing in Autopilot | The extension popup |
| Google account | Email, name, profile photo — only after you tap Sign in with Google | Google OAuth userinfo |
| Interface language | A locale code (en, ru, de, …) | Settings |
2. Docinline account
Registering is required to run Autopilot or Send. We keep on our servers (Germany VPS, PostgreSQL):
- Email and an Argon2 hash of your password (we do not store the password itself)
- Plan (Free / Plus / Super / Turbo), run count, period start
- A session token and a short-lived run id in Redis
Model requests (document excerpt + prompt + our system prompts) go from the extension to
https://api.docinline.com, then to OpenRouter. We do not keep the document body
after the response is sent.
3. Stored on your device
Written to chrome.storage.local / browser.storage.local. Not synced
with Chrome Sync. The full document body is not saved — only metadata, your last prompts, and
short step logs.
| Key | Contents | Kept until |
|---|---|---|
docinline_google_token |
Access token and expiry. No refresh token (access_type=online) |
Token expires (~1 hour) or you disconnect Google |
docinline_google_profile |
Email, name, picture | You disconnect Google |
docinline_recent_docs |
Up to 4 docs: id, title, URL, last used | You remove a card or uninstall |
docinline_doc_actions |
Up to 40 actions per document: title, prompt, status, logs | Uninstall |
docinline_session |
API session token and email after you sign in to Docinline | You sign out or uninstall |
docinline_locale |
UI language | You change it or uninstall |
docinline_chat_model |
Selected chat model, if you changed the default | You change it or uninstall |
docinline_bot_access |
Whether the editor bot can reach the current Doc | Uninstall |
4. Only in memory
- Undo/redo snapshots of the document text (up to 10 per tab) while the tab is open.
- The current run status and stop signal.
- The document text read for that one run.
Close the browser and those copies are gone.
5. Who receives data
We do not sell this. A run sends data only to services required to finish that run.
| Recipient | What we send | Why |
|---|---|---|
Docinline API (api.docinline.com), then OpenRouter |
Document title, blank/character counts, table snippet, document text (capped), your
prompt, Docinline system prompts, app title, referer https://docinline.com
|
Classify the task and generate text, tables, or edits |
| Google OAuth / userinfo | Auth code and PKCE verifier; we receive an access token, email, name, photo | Sign in with Google |
| Google Docs API | Document id and API commands (tables, images, replace text) | Native tables, images, reliable writes |
| Wikipedia / Wikimedia Commons, Wikidata, Openverse, randomuser.me | An image search query, or a stock portrait id — not your account | Find a public photo when the assignment asks for one |
Google scopes: documents, userinfo.email,
userinfo.profile. Not Drive-wide, not Gmail, not Calendar.
Whatever is in the Doc goes to the model. Do not put passwords, tokens, or other people’s private data in the assignment if you are going to run Docinline on it.
Payments are not live in version 1.2.0. When they are, this page will name the processor before we take a card.
OpenRouter, Google, Wikimedia, Openverse, and image hosts keep their own logs under their own policies. We cannot delete their copies for you.
6. Browser permissions
| Permission | Why |
|---|---|
| storage | The keys in section 2 |
| clipboardWrite | Copy the bot email from Settings when you use the optional share flow |
| identity | Google sign-in |
| tabs / activeTab | Detect a Google Doc, read its URL/id, open the Google login tab |
| scripting | Read and type into the Docs page |
| Host access to docs.google.com, Google APIs, api.docinline.com, Wikidata, Wikimedia, Openverse, Flickr image hosts, randomuser.me | The services listed above |
7. What we do not collect
- Google passwords
- Cards or bank details (billing is not connected yet)
- Location, microphone, camera, or browsing history outside Google Docs
- Gmail, Calendar, or Drive files other than the open Doc
- Our own cookies, ads pixels, or analytics IDs
Docinline is not aimed at children under 16. If someone that young used it, email [email protected] and we will tell you how to clear the local store.
8. How to wipe it
- Sign out in the extension: drops the local session token.
- Settings → disconnect Google: drops the Google token and profile.
- Also revoke access at your Google Account → third-party apps.
- Uninstall the extension: drops all
docinline_*keys on that browser. - Email [email protected] from your account address to delete the server account (email, hash, run counters).
We cannot pull your assignment text back from OpenRouter or Google. Ask them if you need that.
If the product changes (new payment vendor, new model host), we will update this page. Keep using the extension after an update means you have seen the new text.
9. Contact
[email protected]
https://docinline.com
Firefox extension id: [email protected].