Microsoft Office Telemetry: Analysis Report
Microsoft Office Telemetry: Analysis Report
Analysis report
Author:
Dr. Aleksandar Milenkoski
E-mail: [email protected]
ERNW Enno Rey Netzwerke GmbH
Carl-Bosch-Straße 4
69115 Heidelberg, Germany
http://www.ernw.de
Table of Contents
1 Introduction......................................................................................................................................................................................... 5
1.1 Concepts and Terms................................................................................................................................................................... 5
1.2 Scope.................................................................................................................................................................................................. 7
1.2.1 Technical information........................................................................................................................................................ 7
1.3 Summary......................................................................................................................................................................................... 8
2 Technical Analysis............................................................................................................................................................................. 9
2.1 Functionalities of Aria............................................................................................................................................................ 11
2.2 Delivery of diagnostic events to Aria............................................................................................................................... 14
3 Disabling the output of diagnostic data................................................................................................................................ 21
3.1 Network......................................................................................................................................................................................... 21
3.2 Registry.......................................................................................................................................................................................... 23
3.3 Group policy................................................................................................................................................................................ 23
3.4 Summary....................................................................................................................................................................................... 24
Appendix.............................................................................................................................................................................................. 26
ETW Providers: Word and Diagtrack-Listener........................................................................................................... 26
Telemetry rules: XML tags/attributes and interpretations....................................................................................27
Disabling the output of diagnostic data: .reg file........................................................................................................ 28
Reference Documentation.......................................................................................................................................................... 29
Keywords and Abbreviations..................................................................................................................................................... 30
Figures
Figure 1: Content of office16.admx: Diagnostic data levels......................................................................................................... 6
Figure 2: Office telemetry: A high-level overview (default configuration)...........................................................................9
Figure 3: The diagnostic event Office.TelemetryEngine.FirstProcessed.............................................................................10
Figure 4: urlmon.dll constructing a POST request that encapsulates a diagnostic event...........................................11
Figure 5: Patching aria_logVerbosity and displaying Aria log data.......................................................................................12
Figure 6: Storage of a diagnostic event delivered to Aria........................................................................................................... 13
Figure 7: Aria constructing a POST request that encapsulates diagnostic events..........................................................13
Figure 8: Functions executed in close proximity to aria_diagnosticEventLogger..........................................................16
Figure 9: Pseudo-code of the implementation of mso20_eventDLevelCheck.................................................................17
Figure 10: An Office application (Word) requesting a rule file.................................................................................................18
Figure 11: Portions of telemetry rules................................................................................................................................................. 19
Figure 12: A sustainable and effective approach implementation.........................................................................................22
Tables
Table 1: Function and variable labels (1)............................................................................................................................................. 12
Table 2: Function and variable labels (2)............................................................................................................................................. 15
Table 3: Number of diagnostic events directed and delivered to Aria [the Word Office application with all
connected experiences enabled, as per the default configuration of Office – see Section 1.2.1]...20
1 Introduction
ERNW GmbH was tasked by the German Federal Office for Information Security (orig., ger., Bundesamt fur
Sicherheit in der Informationstechnik (BSI)) with analyzing the output of telemetry data from Microsoft
Office and provide recommendations on how to deactivate or minimize it (see Section 1.1 and Section 1.2).
Microsoft by telemetry modules. In this work, the term telemetry module refers to a software entity that
establishes a network connection to an endpoint that is part of the Microsoft backend and sends diagnostic
events produced by Office to it. There are Office and Windows telemetry modules. The term Office telemetry
module refers to a telemetry module distributed with Office. The term Windows telemetry module refers to a
telemetry module that is not distributed with Office (e.g., it is distributed with Windows).
Microsoft has released a set of privacy settings for Office, one of which enables users to configure the type
and amount of diagnostic data that Office may send to the Microsoft backend. When deployed, it is available
in the form of a group policy setting at the policy path User Configuration\Administrative
Templates\Microsoft Office 2016\Privacy\Trust Center\Configure the level of
client software diagnostic data sent by Office to Microsoft. It allows users to configure one
of the following diagnostic data levels:
• required: this level configures Office to send to Microsoft the “minimum data needed to keep Office
secure, up-to-date, and performing as expected on the device it's installed” (cit., from the group policy
setting description);
• optional: this level configures Office to send to Microsoft “additional data that helps make product
improvements and provides enhanced information to help detect, diagnose, and remediate issues” (cit., from
the group policy setting description);
• neither: this level configures Office such that “no diagnostic data about Office client software running
on the user's device is sent to Microsoft” (cit., from the group policy setting description).
When the policy setting is not configured, the level optional is applied. For the sake of simplicity, this
work refers to the policy setting Configure the level of client software diagnostic data
sent by Office to Microsoft as Office diagnostic level. Configuring the diagnostic data level
required, optional, or neither results in setting the registry value HKEY_CURRENT_USER\
Software\Policies\Microsoft\office\common\clienttelemetry\sendtelemetry to 1, 2,
and 3, respectively. This can be observed by analyzing the content of the office16.admx file. This file
implements the Office diagnostic level setting (see Figure 1).
1.2 Scope
The objective of this work is:
• to analyze the impact of the required, optional, and neither diagnostic data levels on the output
of diagnostic data produced by Office applications and featured connected experiences (see Section 1.1).
This work discusses in detail only topics that are directly related to this objective. Other topics are either
not discussed, or are discussed to the extent needed for better understanding the content of this work.
Such topics include characterizing the network traffic between a telemetry module and the Microsoft
backend, or analyzing in detail the way in which Office applications and connected experiences produce
diagnostic events;
• to provide and evaluate approaches for partially or fully disabling the output of diagnostic data produced
by Office applications and featured connected experiences. This work evaluates such approaches in terms
of their complexity of technical feasibility and impact on the operation of Office.
Office telemetry (see Section 1.1) is not to be confused with Office Telemetry Dashboard. Office Telemetry
Dashboard is an on-premise tool that collects diagnostic data about Office, primarily intended for
organization-internal application compatibility testing [ms_otd]. This data is different than the diagnostic
data discussed in this work. The Office Telemetry Dashboard tool is not in the scope of this work.
The observations presented in this work are based on a static code analysis performed using the IDA
disassembler and dynamic code analysis performed using the windbg debugger. Debugging symbols for
Office are not publicly available.
1.3 Summary
The Windows 10 operating system implements the concept of telemetry. This involves collecting and
sending diagnostic data to a backend managed by Microsoft (i.e., the Microsoft backend) for storing and
processing. Diagnostic data is a set of diagnostic events that log information on different aspects of the
operation of Windows and applications running on it. This includes usage information as well as
information relevant for diagnosing issues, such as application crash information. Microsoft Office 365 (i.e.,
Office) consists of Office applications, such as Word and Excel, and connected experiences. Connected
experiences are features of Office applications that may communicate and exchange data with the Microsoft
backend during operation. Both Office applications and connected experiences produce diagnostic events
that may be sent to Microsoft. Microsoft has released a set of privacy settings for Office, in the form of group
policy settings. One of them enables users to configure the type and amount of diagnostic data that Office
may send to the Microsoft backend by configuring the diagnostic data level required, optional, or
neither. According to the group policy setting description, the diagnostic data level neither configures
Office such that “no diagnostic data about Office client software running on the user's device is sent to
Microsoft” (cit., from the group policy setting description).
It is important to emphasize that:
• the diagnostic data level neither configures Office such that only specific diagnostic events are not sent
to Microsoft. Other diagnostic events produced by Office applications and featured connected
experiences are still sent to Microsoft;
• depending on how Office is used, diagnostic data produced by it may be sent to Microsoft through more
than one telemetry module. Telemetry modules are software entities that collect Office diagnostic events,
establish a network connection to an endpoint of the Microsoft backend, and send the diagnostic events
to it. Office diagnostic data may be sent to Microsoft by telemetry modules distributed with Windows or
Office itself.
There is no known central configuration setting that disables all telemetry modules. There is also no such
setting that configures Office to stop producing diagnostic events. Fully disabling the output of diagnostic
data produced by Office requires the application of a combination of approaches. They involve blocking
outgoing data streams at network-level and configuring settings using standard system configuration
interfaces, such as group policy settings or the system’s registry. The approaches vary in their efficacy (in
terms of amount of disabled diagnostic data output), complexity of technical feasibility, and impact on
the operation of Office applications and featured connected experiences. Partially or fully disabling the
output of diagnostic data produced by Office limits Microsoft‘s ability to diagnose and remediate
problems in using Office.
2 Technical Analysis
This section first provides a high-level overview of Office telemetry. It also discusses the impact of the
required, optional, and neither diagnostic data levels on the output of diagnostic data produced by
Office (Section 2.1 and Section 2.2).
Figure 2 depicts a high-level overview of the architecture of Office telemetry. When an Office application or
a featured connected experience is launched, it starts producing diagnostic events. These events may be sent
to the Microsoft backend by Windows or Office telemetry modules (‘Windows telemetry modules’ and
‘Office telemetry modules’ in Figure 2, see Section 1.1).
Windows telemetry modules Some Windows telemetry modules are the Connected User Experiences and
Telemetry service and the (Object Linking and Embedding) OLE32 Extensions for Win32 Windows
component.
the Connected User Experiences and Telemetry service: The DiagTrack service, the core building block of
Connected User Experiences and Telemetry, receives diagnostic events from the Diagtrack-Listener
ETW session (see Section 1.1). An Office application may produce diagnostic events using ETW providers
that are associated with Diagtrack-Listener. This means that these events are consumed by
Connected User Experiences and Telemetry. Depending on its configuration, Connected User Experiences
and Telemetry may send the events to Microsoft.
The section ‘ETW Providers: Word and Diagtrack-Listener’ in the Appendix lists the GUIDs of the ETW
providers that: i) may be used by Word for producing diagnostic events; and ii) are associated with
Diagtrack-Listener when Word runs. We identified the GUIDs of the ETW providers that may be used
by Word for producing diagnostic events with the logman utility: logman query providers -pid
[PID], where[PID]stands for process ID. We identified the GUIDs of the ETW providers associated with
Diagtrack-Listener by executing the Get-EtwTraceProvider -SessionName "Diagtrack-
Listener" PowerShell command. The section ‘ETW Providers: Word and Diagtrack-Listener’ in the
Appendix lists the matching GUIDs. They may differ depending on system and Office state and
configuration.
Figure 3 depicts the ETW provider with GUID D1318FE0-16B7-4FB-b5F9-BA3CD54CD9CC producing
the diagnostic event named Office.TelemetryEngine.FirstProcessed (displayed with the
Message Analyzer utility). This event is produced by a running Office application (Word) with a process
ID (PID) of 7116. The ETW provider is associated with the Diagtrack-Listener ETW session (see section
‘ETW Providers: Word and Diagtrack-Listener’ in the Appendix). The event
Office.TelemetryEngine.FirstProcessed is collected by Connected User Experiences and
Telemetry when the telemetry level Enhanced(Limited)is configured [ms_el].
Functions
Label Offset
Image Value
Image Value
Once MSOARIANEXT.dll is loaded, Office starts delivering diagnostic events to Aria. The
aria_diagnosticEventLogger function implemented in MSOARIANEXT.dll (see Table 1) is
executed for each event delivered to Aria. Among other things, the execution of
aria_diagnosticEventLogger results in storing the delivered event in an in-memory database that
Aria manages (‘in-memory event storage’ in Figure 2). Figure 6 depicts Aria log data that provides
information on the storage of the diagnostic event named Office.Performance.Boot.
If Internet connection is available, Aria schedules the sending of the diagnostic events stored in its in-
memory database to the self.events.data.microsoft.com/OneCollector/1.0 endpoint of the
Microsoft backend. To this end, Aria executes functions of the WinINet library, such as
HttpOpenRequestA, HttpAddRequestHeadersA, and HttpSendRequestW [ms_wini]. WinINet
constructs POST requests such that each request encapsulates multiple diagnostic events.
HttpSendRequestW issues POST requests to
self.events.data.microsoft.com/OneCollector/1.0 through an encrypted communication
channel.
The events encapsulated in POST requests are serialized with the Bond Compact Binary protocol [ms_bond].
This protocol achieves high payload compactness. It is therefore suitable for scenarios where data has to be
frequently sent over a network connection and the caused network overhead due to data transfer needs to
be kept at minimum. Figure 7 depicts Aria constructing a POST request in order to send diagnostic events to
self.events.data.microsoft.com/OneCollector/1.0 (label [1]). The first event stored as part
of this request is named Office.System.SystemHealthErrorsWithTag [ms_req]. Figure 7 also
depicts the POST request as observed with Fiddler (label [2]). Fiddler acts as the man-in-the-middle between
the Windows 10 instance where an Office application runs and the Microsoft backend.
When a user closes an Office application, if Internet connection is available, Aria sends to
self.events.data.microsoft.com/OneCollector/1.0 the diagnostic events that have not been
already sent. If Internet connection is not available, Aria stores these diagnostic events in persistent storage
(‘on-disk event storage’ in Figure 2). This storage is an SQLite database. It is stored in the %HOMEPATH%\
AppData\Local\Microsoft\Office\OTele\ folder, in a database (.db) file.1 Aria stores diagnostic
events in persistent storage during a timeout interval by invoking the aria_offlineStorageTimeout
function (see Table 1). Windows terminates the Office application when the timeout expires.
Functions
Label Offset
Image Value
2 We extracted the possible values of diagnostic level and their internal names from the context of the
function implemented at offset 0x394520 from the base address of Mso20win32client.dll.
For each diagnostic event directed to Aria, first the mso20_eventCheck function is invoked. This function
evaluates different aspects of the event, such as whether the name of the event is valid or too long. It also
evaluates the value of the activation policy event property. If an evaluation in mso20_eventCheck
fails, the function returns a zero value and the function execution sequence depicted in Figure 8 is
interrupted. The diagnostic event will not be delivered to Aria. mso20_eventCheck returns zero if the
diagnostic event is marked as deactivated, that is, if the event property activation policy(or
equivalently, the event_activation variable) is set to 0x2. Therefore, deactivated events are not
delivered to Aria (see ‘[event_activation]’ in Figure 8).
If mso20_eventCheck returns a non-zero value, the function mso20_transportToAria2 is executed.
This function invokes the function mso20_eventDLevelCheck. mso20_eventDLevelCheck
evaluates the diagnostic level property of the event (or equivalently, the
3 We extracted the possible values of criticality and their internal names from the context of the function
implemented at offset 0xB0660 from the base address of Mso20win32client.dll and by matching events
of different criticalities sent to Microsoft with events specified in a rule file. Rule files are discussed later in this
section.
sent to Microsoft. Which events are directed further to Aria depends on the value of the criticality event
property of each event. If the stream is sampled, mso20_transportToAria1 delivers to Aria only the
diagnostic events that are marked as critical – events with the criticality property set to
CriticalBusinessImpact, CriticalCensus, CriticalExperimentation, or CriticalUsage
(see ‘[event_criticality]’ in Figure 8). To deliver a diagnostic event to Aria, mso20_transportToAria1
invokes the mso20_transportToAria function. This function invokes the
aria_diagnosticEventLogger function, at which point the diagnostic event is eventually sent to
Microsoft (see Section 2.1).
The concept of event criticality is best observed in the context of telemetry rules. Telemetry rules are
specified in Extensible Markup Language (XML) format and are stored in rule files (‘rule file’ in Figure 2).
Rule files are stored in the %HOMEPATH%\AppData\Local\Microsoft\Office\16.0\ folder, such
that each Office application has a dedicated rule file. 4 An Office application may request a rule file from the
nexusrules.officeapps.live.com/nexus/rules endpoint of the Microsoft backend (see Figure
10, label [1] marks a request for a rule file, label [2] marks a response from
nexusrules.officeapps.live.com, displayed with Fiddler).
Each rule stored in a rule file may contain sub-rules and is uniquely identified by a rule ID. Among other
things, telemetry rules specify critical diagnostic events and event data sources. Some sources of diagnostic
events are: ETW providers, uniquely identified by their GUIDs, and Unified Logging System (ULS) tags,
uniquely identified by ULS tag IDs (e.g., avuo1, bhyud). ULS is an application logging mechanism. Each
diagnostic event specified by a rule is associated with an event name and event criticality, also known as
sampling policy. An Office application parses its rule file when started and matches over its lifetime
produced diagnostic events to rules. Matching events are directed to Aria. Therefore, rules may be
understood as remotely deployed generators of diagnostic events dynamically configuring the diagnostic
event collection process of Office (see ‘configuration data flow’ in Figure 2).
Figure 11 depicts portions of telemetry rules for Word. The rules specify events associated with the different
event criticalities - CriticalBusinessImpact, CriticalCensus, CriticalExperimentation,
and CriticalUsage. In Figure 11: the XML tag R specifies a rule; the XML attribute EN specifies an event
name; the XML attribute SP specifies sampling policy (i.e., event criticality); the XML tag Etw specifies an
ETW provider as an event data source; and the XML tag UTS specifies an ULS event data source.
In addition to event names, criticalities, and event data sources, telemetry rules typically specify other event
descriptors and operations over data, such as logical comparisons. A detailed analysis of telemetry rules is
out of scope. To facilitate further research, the section ‘Telemetry rules: XML tags/attributes and
interpretations’ in the Appendix non-exhaustively lists XML tags and attributes (column ‘XML
tag/attribute’), and their associated Office-internal interpretations (column ‘Interpretations’). We extracted
these interpretations as string literals from Mso20win32client.dll. Depending on its placement in a
rule file, a single entry in the column ‘XML tags/attribute’ may be an XML tag or an attribute and may have
more than one interpretation (comma-separated in column ‘Interpretations’).
Table 3 shows the number of diagnostic events directed and delivered to Aria, in the scenario where we
conducted the following activities in Word: i) launching Word; ii) creating a new document; iii) writing the
sentence “Test.”; iv) saving the document using the ‘Save as’ feature; and v) closing Word. Under an event
directed to Aria, we understand a diagnostic event reaching the mso20_transportToAria1 function in
Mso20win32client.dll. Under an event delivered to Aria, we understand a diagnostic event reaching
the mso20_transportToAria function in Mso20win32client.dll and subsequently the
aria_diagnosticEventLogger function in MSOARIANEXT.dll (see Figure 8).
For each diagnostic data level configured using the policy setting Office diagnostic level, Table 3
categorizes diagnostic events with respect to their criticality (column ‘Event criticality’) and diagnostic level
(table section ‘Event diagnostic level’). Section ‘Total number of events delivered to Aria’ of Table 3 shows
the number of diagnostic events that are delivered to Aria and eventually sent to Microsoft (see Section 2.1).
Table 3 effectively shows the impact of configuring the policy setting Office diagnostic level on the
output of diagnostic data produced by Office applications and featured connected experiences.
When the diagnostic data level neither is configured, events of the diagnostic levels 0xA and 0x64 are not
directed to Aria. When the diagnostic data level required is configured, only events of the diagnostic level
0x64 are not directed to Aria (see Figure 8). When the diagnostic data level optional is configured, events
of all diagnostic levels are directed to Aria, including a high number of events of the diagnostic level 0x64.
Since the stream of diagnostic events is sampled, only the diagnostic events marked as critical (i.e., with the
criticality event property set to CriticalBusinessImpact, CriticalCensus,
CriticalExperimentation, or CriticalUsage) are delivered to Aria and eventually sent to
Microsoft. This shows the impact of diagnostic event criticality on the output of diagnostic data produced
by Office applications and featured connected experiences.
Critical 0 10 10
Non-critical 0 1 1
Total 0 11 11
Critical 20 19 21
Non-critical 8 8 8
Total 28 27 29
Critical 2 2 2
Non-critical 28 29 28
Total 30 31 30
Critical 0 0 8
Non-critical 0 0 199
Total 0 0 207
22 31 41
Table 3: Number of diagnostic events directed and delivered to Aria [the Word Office application with all connected
experiences enabled, as per the default configuration of Office – see Section 1.2.1]
3.1 Network
This approach involves blocking using a firewall outgoing diagnostic data streams from a Windows instance
to endpoints of the Microsoft backend. This includes the endpoints to which Office and Windows telemetry
modules send diagnostic events (see Section 1.1). In the context of this work, we observed that the Aria and
Nexus Office telemetry modules send diagnostic events to
self.events.data.microsoft.com/OneCollector/1.0 and nexus.officeapps.live.com/
nexus/upload. We also observed that OLE32 Extensions for Win32 sends diagnostic events
tohubblecontent.osi.office.net/contentsvc/api/telemetry/. [ERNW_WP4.1] provides
information on the endpoints to which the Connected User Experiences and Telemetry service sends
diagnostic events.
If applied to known endpoints, this approach is easily technically feasible - it is implemented by configuring
firewall rules. However, its sustainability and efficacy, in terms of amount of disabled diagnostic data output,
are challenged by the following factors:
• software updates and re-configuration: The endpoints of the Microsoft backend to which telemetry
modules send diagnostic data may change over time, for example, due to software updates re-
configuring the modules. This challenges the sustainability of this approach;
• user activities: Office produces a specific diagnostic event when it performs a given activity, often
triggered by users. Diagnostic events are delivered to telemetry modules, after which they send the
events to endpoints of the Microsoft backend. For example, Aria sends to Microsoft diagnostic events
produced when users perform a variety of activities, such as launching an Office application or saving a
document (see Section 2.1). OLE32 Extensions for Win32 handles more specific diagnostic events. For
example, it sends diagnostic events to Microsoft when a user uses the Insert Icon connected experience
(see Section 2). To what specific endpoints diagnostic events produced by Office may be sent largely
depends on performed user activities. To achieve full approach efficacy, these activities should be known
before configuring firewall rules.
The sustainable and effective implementation of this approach involves performing the following steps:
1) identifying all activities that users may perform in the context of Office applications and featured
connected experiences (‘identify user activities’ in Figure 12);
2) while performing the activities, observing the endpoints of the Microsoft backend to which diagnostic
events are sent. This can be done by using a network sniffer acting as the man-in-the-middle between the
Windows instance in which Office runs and the Microsoft backend (e.g., Fiddler, ‘perform activities &
observe endpoints’ in Figure 12);
3) configuring firewall rules that block outgoing diagnostic data streams from the Windows instance to the
observed endpoints (‘configure firewall rules’ in Figure 12). If an endpoint is in the form of a hostname and
an Uniform Resource Locator (URL) path (e.g.,
self.events.data.microsoft.com/OneCollector/1.0), it is important that configured firewall
rules specify the endpoint by its hostname and the full URL path. This is because:
• there may be multiple IP addresses associated with a single hostname. For example,
self.events.data.microsoft.com is associated with multiple IP addresses. This makes
blocking outgoing data streams only to a specific IP address, or a hostname, inefficient;
• some hostnames specify endpoints that not only collect diagnostic events, but also deliver content to
Office. For example, in addition to collecting diagnostic events at the URL path /contentsvc/api/
telemetry/, hubblecontent.osi.office.net delivers on request icon data when the Insert
Icon connected experience is used. Blocking outgoing data streams only to the hostname
hubblecontent.osi.office.net, without specifying an URL path, impacts the operation of the
Insert Icon connected experience.
Windows Defender Firewall, the Windows built-in firewall, does not support blocking outgoing data
streams to endpoints specified by hostnames and URL paths. Therefore, the implementation of this
approach requires a third-party firewall solution that supports such blocking. This feature is typical
for enterprise network filtering solutions.
An alternative, technically simpler, approach to blocking outgoing streams to specific endpoints is to
block all outgoing data streams from an Office application. However, this may render Office
applications and featured connected experiences unusable, disabling both non-deactivatable and
deactivatable features. This includes verifying or changing a license [ms_lic], inserting icons, and
deploying new, or using existing, application extensions (i.e., add-ins).
Given non-changing user activities, step 2) and 3) should be regularly repeated so that the implementation
of the approach is sustainable over long-term periods.
3.2 Registry
Setting the registry value HKEY_CURRENT_USER\Software\Policies\Microsoft\office\
common\clienttelemetry\DisableTelemetry to 1 disables the Aria and Nexus Office telemetry
modules (see Section 2). For example, if DisableTelemetry is set to 1, Office applications do not load the
MSOARIANEXT.dll library file, which implements Aria (see Section 2.1). The registry value
DisableTelemetry cannot be configured through the privacy policy settings for Office that Microsoft
has released (see Section 1.1). It has to be configured by editing the system’s registry. DisableTelemetry is
not present in the registry by default. Its default value, if a user does not explicitly create and configure
DisableTelemetry, is 0. It is important to emphasize that the DisableTelemetry registry value is not
officially documented by Microsoft. Therefore, its impact on the output of Office diagnostic data may be
subject to change without public notice.
The advantage of this approach is its simple technical feasibility– it is implemented by configuring a registry
value. It is also effective in disabling the output of diagnostic data from the Aria and Nexus telemetry
modules. It also does not impact the operation of Office applications and featured connected experiences.
However, it disables the output of diagnostic data only from the Aria and Nexus Office telemetry modules. It
does not disable, for example, the output of diagnostic data produced by connected experiences, sent to
Microsoft by Windows telemetry modules (see Section 2). For example, when DisableTelemetry is set to
1, OLE32 Extensions for Win32 still sends diagnostic events to
hubblecontent.osi.office.net/contentsvc/api/telemetry when a user uses the Insert Icon
connected experience in Word.
In addition to DisableTelemetry, there are other registry values that are relevant for disabling the
output of diagnostic data produced by Office. They can be configured through group policy settings and are
therefore discussed in Section 3.3.
3.4 Summary
The approaches presented in Section 3.1, Section 3.2, and Section 3.3 vary in their efficacy (in terms of
amount of disabled diagnostic data output), complexity of technical feasibility, and impact on the operation
of Office applications and featured connected experiences. With the goal to maximize the amount of
disabled diagnostic data output with a minimum technical complexity, users may disable the Aria and Nexus
telemetry modules as well as all non-essential connected experiences by configuring registry values.
The section ‘Disabling the output of diagnostic data: .reg file’ in the Appendix presents the content of a
Registration Entries (.reg) file. When applied, it disables the Aria and Nexus Office telemetry modules by
setting the registry value DisableTelemetry to 1 (see Section 3.2). It also disables all non-essential
connected experiences by setting the registry values controllerconnectedservicesenabled,
downloadcontentdisabled, and usercontentdisabled to 2 (see Section 3.3). Users may modify the
values of controllerconnectedservicesenabled, downloadcontentdisabled, and
usercontentdisabled in the .reg file to enable only specific groups of connected experiences (see
Section 3.3). In addition, the file sets the registry values HKEY_CURRENT_USER\Software\Policies\
Microsoft\office\16.0\common\qmenable and HKEY_CURRENT_USER\Software\Policies\
Microsoft\office\16.0\common\sendcustomerdata to 0. This is equivalent to configuring the
policy settings User Configuration\Administrative Templates\Microsoft Office 2016\
Privacy\Trust Center\Enable Customer Experience Improvement Program and User
Configuration\Administrative Templates\Microsoft Office 2016\Privacy\Trust
Center\Send personal information to Disabled.5
5 The CIS Microsoft Office 2016 Benchmark ([cis_of], Section 2.24.1) recommends configuring these policy
settings to Disabled. The impact of the settings on the output of diagnostic data produced by Office is not
in the scope of this work (see Section 1.2).
In addition to disabling Aria and Nexus as well as all non-essential connected experiences, users may block
any remaining outgoing streams of diagnostic data at network-level (see Section 3.1). Users may also disable
the output of Office diagnostic data from Connected User Experiences and Telemetry (see Section 2,
[ERNW_WP4.1]). It is important to note that partially or fully disabling the output of diagnostic data
produced by Office limits Microsoft‘s ability to diagnose and remediate problems in using Office [ms_req].
Appendix
30336ED4-E327-447C-9DE0-51B652C86108 7ACF487E-104B-533E-F68A-A7E9B0431EDB
03BBE5B8-C788-4D0B-B47E-5B5731398A89 7B1AE42D-B4F2-414D-9C97-913F19049964
05F95EFE-7F75-49C7-A994-60A55CC09571 7C29709D-3C02-47FB-8A39-D8287522FADB
0616F7DD-722A-4DF1-B87A-414FA870D8B7 7E32A1C4-D502-5B7C-39E8-2B7B0B5F0424
072665FB-8953-5A85-931D-D06AEAB3D109 86CC27EA-6F87-47F7-8B43-3473527D4A87
077B8C4A-E425-578D-F1AC-6FDF1220FF68 8CCCA27D-F1D8-4DDA-B5DD-339AEE937731
0BCA4784-8257-51A0-D9EC-24FE1FE4C90D 93112DE2-0AA3-4ED7-91E3-4264555220C1
18608E62-A628-49D9-8C02-55972E097D24 9CA335ED-C0A6-4B4D-B084-9C9B5143AFF0
1A211EE8-52DB-4AF0-BB66-FB8C9F20B0E2 A40B455C-253C-4311-AC6D-6E667EDCCEFC
1AFF6089-E863-4D36-BDFD-3581F07440BE A6D3C9AC-9128-522A-495A-1821191173C2
1CBA82B8-2B26-4D68-8447-1A3B85805B6A B1642597-285E-560A-7F60-7E02F5DA22C0
2F50C5D0-E25E-4F89-AB4A-31C63B518D7A B6FD710B-F783-4B1C-AB9C-C68099DCC0C7
319DC449-ADA5-50F7-428E-957DB6791668 BC71577F-76E9-583A-ECD6-62D0250D900F
32980F26-C8F5-5767-6B26-635B3FA83C61 C7E09E2A-C663-5399-AF79-2FCCD321D19A
364E2BEB-6EFC-47DC-B8B1-49AAE1D83922 CA967C75-04BF-40B5-9A16-98B5F9332A92
3720DDA7-CAEA-4AF3-A138-375AAFC3F1D6 D0F1A5C6-FC43-48AE-99BF-EFB1C38BE9D1
3C302A2A-F195-4FED-BD7B-C91BA3F33879 DCB453DB-C652-48BE-A0F8-A64459D5162E
3C430B0A-397A-4E1D-9A83-9C388405C00C EA289C62-8C36-4904-9726-15ECD282AED5
3C74AFB9-8D82-44E3-B52C-365DBF48382A EBADF775-48AA-4BF3-8F8E-EC68D113C98E
4E7ADD1A-6945-435A-82B6-612688BA9F57 F0558438-F56A-5987-47DA-040CA75AEF05
540DC156-E9D6-42DC-A225-29794149A495 F168D2FA-5642-58BB-361E-127980C64A1B
673CF800-208A-5327-3F4B-2BE44A66627A F25BCD2E-2690-55DC-3BC4-07B65B1B41C9
703FCC13-B66F-5868-DDD9-E2DB7F381FFB F3A71A4B-6118-4257-8CCB-39A33BA059D4
7067398C-BAE7-4191-BF16-C436DE658BAF F4576912-C358-4374-A354-9040D45ABCC1
77AB313B-93DA-4AA5-A20F-9339FF5AE1E3 FF32ADA1-5A4B-583C-889E-A3C027B201F5
785E3EA5-A921-427C-8EDB-0583D49C7636 D1318FE0-16B7-4F5B-B5F9-BA3CD54CD9CC
TI timer
C column, count
TR this rule
TO timeout
ID rule ID
TH threshold
SQ sequence
SR string regex
SS state source
US union source
ER enable rules
E enabled
EN event name
ST starts
DL diagnostic level
DC data classifications
SP sampling policy
DR disable rules
L left
W wstring
I8/16/32/64 INT8/16/32/64
U8/16/32/64 UINT8/16/32/64
D double
B bool
BIN binary
FT filetime
U unary operator
O operator, nullable
I interval, index
N name
[HKEY_CURRENT_USER\Software\Policies\Microsoft\office\common\clienttelemetry]
"DisableTelemetry"=dword:00000001
[HKEY_CURRENT_USER\Software\Policies\Microsoft\office\16.0\common]
"sendcustomerdata"=dword:00000000
"qmenable"=dword:00000000
[HKEY_CURRENT_USER\Software\Policies\Microsoft\office\16.0\common\privacy]
"usercontentdisabled"=dword:00000002
"downloadcontentdisabled"=dword:00000002
"controllerconnectedservicesenabled"=dword:00000002
Reference Documentation
ms_etw https://docs.microsoft.com/en-us/windows/win32/etw/about-event-tracing [Retrieved:
09/04/2020]
ms_eapi https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-reference
[Retrieved: 09/04/2020]
ERNW_WP4 ERNW GmbH: SiSyPHuS Win10 (Studie zu Systemaufbau, Protokollierung, Härtung und
Sicherheitsfunktionen in Windows 10): Work Package 4
ms_cexp https://docs.microsoft.com/en-us/deployoffice/privacy/connected-experiences
[Retrieved: 09/04/2020]
ms_epriv https://docs.microsoft.com/en-us/deployoffice/privacy/essential-services [Retrieved:
09/04/2020]
ms_nepriv https://docs.microsoft.com/en-us/deployoffice/privacy/connected-experiences
[Retrieved: 09/04/2020]
ms_otd https://docs.microsoft.com/en-us/deployoffice/compat/compatibility-and-telemetry-
in-office [Retrieved: 09/04/2020]
ms_el https://docs.microsoft.com/en-us/windows/privacy/enhanced-diagnostic-data-
windows-analytics-events-and-fields [Retrieved: 09/04/2020]
ms_wini https://docs.microsoft.com/en-us/windows/win32/wininet/portal [Retrieved:
09/04/2020]
fid https://www.telerik.com/fiddler [Retrieved: 09/04/2020]
ms_bond https://github.com/microsoft/bond [Retrieved: 09/04/2020]
ms_req https://docs.microsoft.com/en-us/deployoffice/privacy/required-diagnostic-data
[Retrieved: 09/04/2020]
ms_cc https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019
[Retrieved: 09/04/2020]
ERNW_WP4.1 ERNW GmbH: SiSyPHuS Win10 (Studie zu Systemaufbau, Protokollierung, Härtung und
Sicherheitsfunktionen in Windows 10): Work Package 4.1
ms_lic https://docs.microsoft.com/en-us/deployoffice/overview-licensing-activation-
microsoft-365-apps [Retrieved: 09/04/2020]
ms_pc https://docs.microsoft.com/en-us/deployoffice/privacy/manage-privacy-controls
[Retrieved: 09/04/2020]
cis_of Center for Internet Security: CIS Microsoft Office 2016 Benchmark