Sublime Forum

Why is my code editor talking to Google Analytics?

#1

Why, oh why, Sublime? Is this a package or SublimeText itself?

0 Likes

#2

Definately from a plugin. If you need someone to diagnose that for you, provide your plugin list.

0 Likes

#3

Some possible explanations include:

  1. Plugin or extension usage: If you have installed any plugins or extensions in your code editor, they may be communicating with Google Analytics to collect usage data. Check your installed plugins or extensions to see if any of them use Google Analytics.

  2. Telemetry or usage tracking: Some code editors have built-in telemetry or usage tracking features that collect data on how the software is being used. This data can help developers improve the software and fix bugs. In some cases, this data may be sent to Google Analytics.

0 Likes

#4

Sublime Text does not track users nor does it send telementry, especially not to google.

The only connections it establishes are for validating license and to look for updates, that’s it. Both servers are owned by sublimehq.

0 Likes

#5

Thanks for confirming this is not SublimeHQ guys. It would have seriously crippled my trust in them.

According to ~/Application Support/Sublime/User/Package Control.sublime-settings I have the following installed:

AlignTab
ApacheConf
Auto Semi-Colon
Browser Refresh
Color Highlight
ColorPicker
DoxyDoxygen
Emmet
FindKeyConflicts
GotoDocumentation
Package Control
PackageResourceViewer
PHP Companion
PHP Completions Kit
PHP-Twig
Pretty JSON
Sass
SFTP
SideBarEnhancements
SublimeLinter
SublimeLinter-php
Xdebug Client

I think it’s not that easy to find out which one is sending stuff out to Google Analytics (why on earth would you do this?!), because Little Snitch doesn’t really ‘see’ where the call was made from, apart from SublimeText. OTOH, I do remember seeing Package Control or something alike connecting to the internets occasionally.

0 Likes

#6

Open the Sublime console and then enter the following lines one after the other

from pprint import pprint
pprint([item[0] for item in [(res, 'google-analytics.com' in sublime.load_resource(res)) for res in sublime.find_resources('*.py')] if item[1]])

The first line imports the pprint method to make output nicer. The second is a filtered comprehension that:

  • Finds all of the py resources across all packages
  • loads them up as a string of text
  • check it to see if the domain appears within its text or not, which returns a True or False result as appropriate
  • Filters the list to only those items where the result was True and gives you the name of the files

The result would be something like this (although in my case I searched for stackoverflow.com because I know that appears in at least one place because I put it there, and I have nothing with the google analytics host in it):

>>> from pprint import pprint
>>> pprint([item[0] for item in [(res, 'stackoverflow.com' in sublime.load_resource(res)) for res in sublime.find_resources('*.py')] if item[1]])
['Packages/CommentGlory/wrap_text.py',
 'Packages/PackageDev/plugins/lib/ordereddict_yaml.py',
 'Packages/PackageDev/plugins/lib/fileconv/loaders.py',
 'Packages/mdpopups/st3/mdpopups/frontmatter.py',
 'Packages/mdpopups/st3/mdpopups/coloraide/util.py',
 'Packages/mdpopups/st3/mdpopups/markdown/util.py',
 'Packages/PipeText/pipe_text.py',
 'Packages/ptyprocess/all/ptyprocess/ptyprocess.py',
 'Packages/python-markdown/st3/markdown/util.py',
 'Packages/wcmatch/st3/wcmatch/util.py',
 'Packages/User/add_file_folder_to_sidebar.py']

Any file that falls out has that text and is a vector for you to look at and see if it’s doing anything with it (you will also be able to tell the package in general).

If that doesn’t turn up anything whatever is doing it may be a bit more nefarious in how it is storing the string to connect.

In a pinch, say No and see if anything gets cranky. :slight_smile:

3 Likes

#7

Excellent @OdatNurd!

For some reason, the creator(s) of Emmet really feel the need to share my data with Google:

['Packages/Emmet/lib/telemetry.py']

Very disappointing. I’ve blocked accesss to google-analytics.com indefinitely, but I can’t fathom why a developer cannot withstand the temptation to spy on other developers.

0 Likes

#8

Emmet is was primarily born in VS Code environment. It’s common common practice to track users activities in VS Code, so well. …

0 Likes

#9

fwiw, https://github.com/jfcherng-sublime/ST-my-settings/commit/069483205c0738006ccc0055e23ceaf3cedfeede

{
    "uid": "thank-but-dont-track-me",
    "telemetry": false,
}
2 Likes