Can a Grammar Checker Extension Read Everything You Type? Permissions and Text Processing Explained

Permissions tell you what an extension is capable of. They do not tell you what it does. Knowing the difference is the whole skill, and it takes about three minutes per extension.

By Raheel Ashraf20 min read

Tested October 2026 on Chrome, Edge and Firefox (Windows 11)

Add to Chrome

Free · works in Chrome, Edge and Firefox

On this page

The short answer

Yes, a grammar checker extension can have the technical ability to read everything you type on any page. Most of them request site access that grants exactly that, because they cannot know in advance which field you will want corrected next. Whether a given extension actually reads everything you type is a different question, and the permissions list will not answer it.

The useful move is to stop treating permissions as a verdict and start treating them as a description of the blast radius. Then answer the second question with evidence: when is text captured, where does it go, and can you watch it happen.

The four questions worth asking, in order
QuestionWhere the answer livesWhy it matters
What could it do?Permissions dialog and Details pageSets the worst case. Necessary but not sufficient.
When does it capture text?The extension's own documentation, plus observable behaviourThe difference between a click-initiated request and a keystroke listener is the difference between a tool and a recorder
Where does the text go?Privacy policy, and the Network tab while you use itLocal processing, the vendor's own API, and a third-party model provider are three different risk profiles
How long is it kept?Privacy policy — read the retention section, not the headline'We don't sell your data' says nothing about how long your client's contract terms sit on a server

Verified October 2026 on current stable Chrome, Edge and Firefox, Windows 11. The audit steps in this article were run in all three browsers.

Capability is not collection

This is the distinction most articles on extension privacy skip, and skipping it makes the whole subject unactionable. Two extensions can hold identical permissions and behave completely differently.

A permission is a grant of ability. 'Read and change all your data on all websites' means the browser will let this extension inspect and modify any page you visit, if its code chooses to. It does not mean the code does. Conversely, an extension with almost no permissions that adds a single keystroke logger to the one field it can reach is worse than a broadly-permissioned tool that only ever reads a field when you click its icon.

Why does a grammar checker need broad site access at all? Because it cannot predict where you will write. A correction tool that only worked on Gmail would be useless to the person who needs it in a job application form, a Notion page or a support desk widget. So the category as a whole converges on broad access, which means broad access on its own tells you nothing about a specific product. What tells you something is the capture model.

Two capture models, same permissions
What triggers a readClick-initiatedContinuous
What triggers a readYou click the extension's iconYou type, or the page loads a field
What is readThe focused field, at that momentPotentially every keystroke in every field
Network trafficOne request per correction you ask forRequests you did not ask for, possibly as you type
How to spot itNothing appears in the Network tab until you click the iconRequests appear while typing, before you invoke anything
Password fieldsShould never be touchedThe main risk case — a keystroke listener does not care what the field is for
Which is One Shot FixThis one. Text is read from the focused field when you click the toolbar icon.Not this one

The Network-tab test described here is the reliable way to tell these apart, and it takes about a minute. Steps are below.

Where the text actually goes

Here is our own flow, described as it is rather than as it sounds best. This is a diagram of One Shot Fix, verified by the developer who built it, not a generic illustration.

One Shot Fix — correction flow
  [ You click the toolbar icon ]
                |
                | nothing is read before this point
                v
  [ Extension reads the focused field's text ]
                |
                v
  [ HTTPS request to the One Shot Fix backend API ]
                |
                | service providers may be involved
                | in operating the correction feature
                v
  [ Correction is produced ]
                |
                v
  [ Corrected text returned to the extension ]
                |
                v
  [ Popup shows you the corrected text ]
                |
                | you decide
                v
  [ You click Apply ]  --->  field is overwritten
                                 (no undo)
Each hop, and what it means for you
HopWhat happensWhat you control
Toolbar clickThis is the trigger. Nothing is captured before it.Everything. If you do not click, nothing is sent.
Field readThe extension reads the value of the focused field — the input, textarea or contenteditable region your cursor is in.Which field has focus. That is why isolating text in a scratch field works.
Request to our backendThe text is sent over HTTPS to our own backend API. It is not corrected inside the browser.Whether to send it at all. There is no offline mode.
ProvidersOur privacy policy states that text may be processed by service providers used to operate the correction feature.Nothing at this hop. This is the reason not to submit text your organisation restricts from third-party processing.
PopupThe corrected text is shown to you in a popup before anything is written.The decision. You can decline and nothing changes.
ApplyThe field is overwritten with the corrected text. There is no undo after this point.Whether to Apply, and keeping your own copy of the original beforehand.

The Network tab test

This is the single most valuable thing in the article, because it produces evidence rather than opinions and it works on any extension in any browser.

  1. Open a page with a plain text field

    Any page. A blank email draft works well because you control what goes in it.

  2. Open DevTools and switch to the Network tab

    F12 in Chrome, Edge and Firefox on Windows. Click Network. Leave it open and empty.

  3. Type something distinctive, and do not touch the extension

    Use a token you can search for, like zebraquartz-4417. Type a full sentence containing it. Now look at the Network tab.

    If requests fire while you type, that is a continuous capture model. Check whether your token appears in any request payload. This is the test that separates a tool from a recorder, and most people never run it.

  4. Clear the log, then click the extension's icon

    Now a request should appear. Click it and read the Headers and Payload tabs. You should see your own text going to a specific host.

  5. Note the host

    Is it the vendor's own domain, or a third-party model provider? Both are legitimate architectures. What is not legitimate is a privacy page that names one while the traffic goes to the other.

  6. Filter by your token to check for extras

    Use the Network tab's filter box to search for zebraquartz-4417. Every request containing it is a request that carried your text. If there is more than one, you now know.

Two caveats so you do not draw the wrong conclusion. Some extensions batch or debounce, so a request may appear a few seconds after typing rather than with each keystroke — watch for a beat before concluding. And some traffic goes through a service worker, which the Network tab does show, but if you see nothing at all while the extension visibly works, check that you are looking at the right frame in a page with iframes.

Auditing permissions yourself

Three places to look, in each browser. None of this requires reading source code.

Where the permission information lives
BrowserInstall dialogAfter installSite access control
ChromeShown automatically when you add the extensionchrome://extensions → turn on Developer mode → Details → PermissionsDetails page → 'Site access' → choose On click, On specific sites, or On all sites
EdgeShown automatically, including for Chrome Web Store installsedge://extensions → Developer mode → DetailsDetails page → 'Site access'
FirefoxShown automatically, and Firefox lists data the extension may accessMenu → Add-ons and themes → the extension → Permissions tabThe Permissions tab lets you remove access for specific sites. Firefox also has a stricter default: optional site access is requested at run time.

Verified October 2026 on current stable Chrome, Edge and Firefox, Windows 11. Menu labels move between versions; the internal URLs (chrome://extensions, edge://extensions, about:addons) are stable.

There is also a fourth place, which is the store listing. The Chrome Web Store and Firefox Add-ons both publish a privacy or data-use section where the developer declares what the extension collects. These declarations are self-reported, so treat them as a claim to check against the Network tab rather than as a finding.

What the common permissions actually grant

Permissions you will see on grammar and writing extensions
PermissionWhat it grantsReasonable for a grammar checker?
activeTabTemporary access to the current tab, granted when you invoke the extension. Expires on navigation.Yes. This is the narrow, well-behaved choice, and a tool that only needs it has a genuinely small blast radius.
<all_urls> / host permission for all sitesThe ability to read and modify any page you visit, at any time the extension's code runs.Common, because the tool cannot predict where you write. Broad capability; judge it by the capture model, not by the grant.
scriptingThe ability to inject scripts into pages.Yes, for anything that has to write corrected text back into a field. Not alarming on its own.
storageSmall local key-value storage in the browser profile.Yes, typically for settings such as a protected-words list. It is local and does not sync anywhere by itself.
contextMenusThe ability to add entries to the browser's right-click menu.Only if the tool actually offers a right-click action. One Shot Fix does not request a right-click entry; it is invoked from the toolbar.
clipboardRead / clipboardWriteReading and writing the system clipboard.Sometimes, for copy-the-result features. clipboardRead is the one to think about, because it can expose whatever you last copied from elsewhere.
tabsReading tab metadata: URLs and titles of your open tabs.Rarely needed for correction. A grammar tool that asks for this deserves a question.
history / bookmarksReading your browsing history or bookmarks.No. There is no grammar-checking reason for either.
webRequest / webRequestBlockingObserving or modifying network requests the page makes.No, not for correction. This is a powerful interception capability.
cookiesReading and writing cookies for sites you visit.No. Nothing about correcting a sentence requires session cookies.
unlimitedStorage / nativeMessagingUnbounded local storage; communication with a program installed on your computer.No. nativeMessaging in particular means code runs outside the browser sandbox.

Permission names are Chrome's Manifest V3 naming. Firefox uses a similar but not identical set, and presents them to users in plainer language.

Set site access to 'On click'

If you take one action after reading this, take this one. It converts a broad capability into a narrow one without uninstalling anything, and it works on any extension in Chrome and Edge.

Open the extension's Details page, find Site access, and choose 'When you click the extension' instead of 'On all sites'. The extension's code can then only run on a page after you have invoked it there. Background scripts and content scripts that would otherwise be present on every page you visit are not injected until you act.

The trade-off is real but small: you click the icon to activate it on each new site, and on some sites an extension that relies on being loaded at page start may need a reload after you first click it. For a correction tool that is invoked deliberately anyway, that is almost no cost at all.

Firefox does the same thing differently. Its default is stricter — an extension with optional host permissions asks for access at run time, per site — and you can remove access for individual sites from the Permissions tab. Firefox also lets you set an extension to run only when you click it, or only in private windows, or not in private windows at all.

Site access settings compared
SettingWhat it meansUse it when
On all sitesThe extension can run on every page, alwaysYou use it constantly and trust the capture model
On specific sitesRuns only on the origins you listYou only ever correct text in two or three places, such as Gmail and your CRM
When you click the extensionCannot run until you invoke it on that pageThe default we would recommend for almost everyone
In private / Incognito: allowedRuns in private windows tooOnly if you actually want it there. Off by default in Chrome and Edge, which is the right default.

The other half: what you put in the field

Permissions control what an extension can reach. They do not control what you hand it. The most common privacy mistake with a writing tool is not installing the wrong extension — it is correcting a field that contains more than the sentence you cared about.

A field that contains more than you meant to send

Before

Hi Marta, re the Zephra renewal — their MSA caps liability at 240,000 EUR and the DPA annex has the old sub-processor list from before the Kestrel migration. Can you redraft clause 9 so it effect the change we discussed, and CC Anesh Varekal but not the client. The account number is 4417-ZQ-88 and the cutover is 12 March not 12 April.

After

Hi Marta, re the Zephra renewal — their MSA caps liability at 240,000 EUR and the DPA annex has the old sub-processor list from before the Kestrel migration. Can you redraft clause 9 so that it effects the change we discussed, and copy in Anesh Varekal but not the client. The account number is 4417-ZQ-88 and the cutover is 12 March, not 12 April.

What changed. The grammar fixes here are small and correct — 'so that it effects', 'copy in' instead of the ambiguous 'CC', a comma before 'not 12 April'. But look at what was submitted to get them: a liability cap, a contract clause number, a named individual to be deliberately excluded, an internal account number, and a date discrepancy that reveals a live dispute. Every token of that went to a correction service. The right move was never a better permission setting — it was copying the one sentence that needed fixing into a scratch field and correcting it there.

Red flags worth acting on

  • Requests fire before you invoke the extension. That is a continuous capture model, whatever the privacy page says.
  • The privacy policy names one processor while the Network tab shows traffic to a different host.
  • 'Local processing' or 'your text never leaves your device' alongside correction quality that requires a large model. The claim and the capability are incompatible.
  • history, bookmarks, cookies, webRequest or nativeMessaging permissions on a writing tool.
  • A retention section that is shorter than the marketing section, or that answers 'do you sell data' without answering 'how long do you keep it'.
  • No named contact for data questions, or a support address that has never replied.
  • A store listing with no privacy tab filled in at all. Both major stores require one; an empty declaration is a choice.
  • The extension updated recently and the permissions changed without a note. Re-check the Details page after any update, not only at install.

Where One Shot Fix stands

Stated plainly, including the parts that are less flattering, because a privacy summary that only lists the good items is not a summary.

One Shot Fix — data handling
QuestionAnswer
When is text captured?When you click the toolbar icon. Nothing is read before that.
What is captured?The text in the focused field — the input, textarea or contenteditable region your cursor is in. Not a selection, not the whole page.
Is it processed in the browser?No. Text is sent over HTTPS to our own backend API.
Are third parties involved?Our privacy policy states that text may be processed by service providers used to operate the correction feature.
Is it zero-retention?No. The policy commits to keeping submitted text only as long as needed to provide the correction feature and maintain the service.
Is your data sold?The policy states that we do not sell your personal information.
Do you need an account?No. There is no account and no payment information collected through the website.
Which languages?English only.
Can you undo a correction?No. Once you click Apply, the field is overwritten and there is no undo.
Which browsers?Chrome, Microsoft Edge and Firefox.
Where is this written down?On our privacy page, which is the authoritative version and takes precedence over any summary here.

Summarised from our privacy policy in October 2026. If this table and the privacy page ever disagree, the privacy page is correct.

Where this breaks down

Where this breaks down

  • You cannot verify another developer's backend from the outside. The Network tab shows what leaves your browser and where it goes. It does not show what happens after that.

    Workaround: Treat the privacy policy as a contract rather than a description, and prefer vendors whose policy names a contact and a retention period. For regulated data, get the answer in writing before you use the tool.

  • Store privacy declarations are self-reported. An inaccurate one is not caught by the store.

    Workaround: Cross-check the declaration against the Network tab. That comparison is the audit, and it takes a minute.

  • One Shot Fix has no offline or local-only mode. If you cannot send the text, you cannot use it.

    Workaround: Use your browser's built-in Basic spell check for text that must not leave the device, and accept that it will only catch misspellings.

  • The extension corrects the whole focused field, so it submits more than the sentence you were thinking about.

    Workaround: The scratch-field habit. Isolate the sentence before you correct it.

  • Permissions can change in an update without you re-reading them.

    Workaround: Re-open the Details page after any extension update, and set site access to 'On click' so a widened permission grant has a smaller effect.

Read the policy, then run the test

Frequently asked questions

Can a grammar extension read what I type in password fields?

An extension with access to all sites has the technical capability to read any field on a page. Browsers mark password fields with type=password and well-behaved extensions exclude them, but capability and behaviour are separate questions. Run the Network tab test on a page with a password field and type a distinctive token into it; if that token appears in a request before you invoked the extension, you have your answer.

Does One Shot Fix process text on my device?

No. When you click the toolbar icon, the text in the focused field is sent over HTTPS to our backend API and the corrected text is returned. There is no offline or local-only mode. Our privacy policy also states that service providers may be involved in operating the correction feature.

Is text retained after the correction?

Our policy commits to keeping submitted text only for as long as needed to provide the correction feature and maintain the service. That is a purpose limit, not zero retention, and it is not a promise to delete on response. Read the retention section of the privacy page for the authoritative wording.

What does 'Read and change all your data on all websites' mean?

It means the browser will let the extension inspect and modify any page you visit, if its code chooses to. It describes capability, not behaviour. Most grammar checkers request it because they cannot predict which site you will write on. Judge a specific tool by when it captures text and what it sends, not by the grant alone.

How do I limit an extension to sites I choose?

In Chrome and Edge, open the extension's Details page and set Site access to 'When you click the extension' or 'On specific sites'. In Firefox, use the Permissions tab in about:addons to remove access for individual sites. Setting it to 'On click' is the single most useful privacy control available.

Which permissions should make me uninstall a grammar checker?

history, bookmarks, cookies, webRequest or webRequestBlocking, and nativeMessaging have no legitimate use in a writing tool. Broad site access is a category norm and is not by itself a reason to uninstall. Requests firing before you invoke the extension are a stronger signal than any permission name.

Do permissions change when an extension updates?

They can. Browsers prompt before an update that adds a significant new permission, but not for every change. Re-open the Details page after updates rather than only at install.

Related guides

extension permissionsprivacygrammar checkerdata processingbrowser security

Written by Raheel Ashraf, builds and maintains one shot fix. Tested October 2026 on Chrome, Edge and Firefox (Windows 11). Last updated 7 October 2026.

Write naturally. Send clean.

Correct prompts, emails and messages in the browser field you are already typing in. Free to install.

Add to Chrome