Line-Numbers-for-Google-Docs/chrome-extension

reduce requirements for security and privacy

fernan opened this issue · 2 comments

Why does the extension require to read my browsing history? Is this necessary for functionality?

Also, while here, does the extension really need to read all my data on docs.google.com? Why not read only the document where I need this functionality? (e.g. let the user load/activate the extension per document as necessary?)

image

I think the permission that is being referred to by 'Read your browsing history' is the 'tabs' permission. This permission would make it possible for the extension to get the URL of all the tabs you open. The reason this permission is required is that it allows tabs to be refreshed programmatically. This means that when someone installs or updated the extension, the tabs can be refreshed to automatically inject the updated line numbering scripts into the document. The source code of the extension is available and you can search for any uses of the Chrome tabs API to see how it is used --- the only place this permission is used is in the background.js script to reload Google Docs documents:

chrome.tabs.query({

I was/am considering getting rid of the 'tabs' permission, however, this would mean that if users first install the extension and have a Google Docs document open, it will appear to them like the extension isn't working until they reload their document. But I may be overestimating how big a problem this is.

As per the second part of your question. As far as I know, I am not able to request permission to modify pages programmatically at runtime with user consent. The permission must be explicitly stated in the manifest file of the extension. Hence, I have to request permission for all Google Docs pages.

You can refer to all the requested permissions in the manifest file of the extension found here:

"permissions": [