MLGO: A Machine Learning Framework for Compiler Optimization

The question of how to compile faster and smaller code arose together with the birth of modem computers. Better code optimization can significantly reduce the operational cost of large datacenter applications. The size of compiled code matters the most to mobile and embedded systems or software deployed on secure boot partitions, where the compiled binary must fit in tight code size budgets. With advances in the field, the headroom has been heavily squeezed with increasingly complicated heuristics, impeding maintenance and further improvements.

Recent research has shown that machine learning (ML) can unlock more opportunities in compiler optimization by replacing complicated heuristics with ML policies. However, adopting ML in general-purpose, industry-strength compilers remains a challenge.

To address this, we introduce “MLGO: a Machine Learning Guided Compiler Optimizations Framework”, the first industrial-grade general framework for integrating ML techniques systematically in LLVM (an open-source industrial compiler infrastructure that is ubiquitous for building mission-critical, high-performance software). MLGO uses reinforcement learning (RL) to train neural networks to make decisions that can replace heuristics in LLVM. We describe two MLGO optimizations for LLVM: 1) reducing code size with inlining; and 2) improving code performance with register allocation (regalloc). Both optimizations are available in the LLVM repository, and have been deployed in production.

How Does MLGO Work? With Inlining-for-Size As a Case Study
Inlining helps reduce code size by making decisions that enable the removal of redundant code. In the example below, the caller function foo() calls the callee function bar(), which itself calls baz(). Inlining both callsites returns a simple foo() function that reduces the code size.

Inlining reduces code size by removing redundant code.

In real code, there are thousands of functions calling each other, and thus comprise a call graph. During the inlining phase, the compiler traverses over the call graph on all caller-callee pairs, and makes decisions on whether to inline a caller-callee pair or not. It is a sequential decision process as previous inlining decisions will alter the call graph, affecting later decisions and the final result. In the example above, the call graph foo()bar()baz() needs a “yes” decision on both edges to make the code size reduction happen.

Before MLGO, the inline / no-inline decision was made by a heuristic that, over time, became increasingly difficult to improve. MLGO substitutes the heuristic with an ML model. During the call graph traversal, the compiler seeks advice from a neural network on whether to inline a particular caller-callee pair by feeding in relevant features (i.e., inputs) from the graph, and executes the decisions sequentially until the whole call graph is traversed.

Illustration of MLGO during inlining. “#bbs”, “#users”, and “callsite height” are example caller-callee pair features.

MLGO trains the decision network (policy) with RL using policy gradient and evolution strategies algorithms. While there is no ground truth about best decisions, online RL iterates between training and running compilation with the trained policy to collect data and improve the policy. In particular, given the current model under training, the compiler consults the model for inline / no-inline decision making during the inlining stage. After the compilation finishes, it produces a log of the sequential decision process (state, action, reward). The log is then passed to the trainer to update the model. This process repeats until we obtain a satisfactory model.

Compiler behavior during training. The compiler compiles the source code foo.cpp to an object file foo.o with a sequence of optimization passes, one of which is the inline pass.

The trained policy is then embedded into the compiler to provide inline / no-inline decisions during compilation. Unlike the training scenario, the policy does not produce a log. The TensorFlow model is embedded with XLA AOT, which converts the model into executable code. This avoids TensorFlow runtime dependency and overhead, minimizing the extra time and memory cost introduced by ML model inference at compilation time.

Compiler behavior in production.

We trained the inlining-for-size policy on a large internal software package containing 30k modules. The trained policy is generalizable when applied to compile other software and achieves a 3% ~ 7% size reduction. In addition to the generalizability across software, generalizability across time is also important — both the software and compiler are under active development so the trained policy needs to retain good performance for a reasonable time. We evaluated the model’s performance on the same set of software three months later and found only slight degradation.

Inlining-for-size policy size reduction percentages. The x-axis presents different software and the y-axis represents the percentage size reduction. “Training” is the software on which the model was trained and “Infra[1|2|3]” are different internal software packages.

The MLGO inlining-for-size training has been deployed on Fuchsia — a general purpose open source operating system designed to power a diverse ecosystem of hardware and software, where binary size is critical. Here, MLGO showed a 6.3% size reduction for C++ translation units.

Register-Allocation (for performance)
As a general framework, we used MLGO to improve the register allocation pass, which improves the code performance in LLVM. Register Allocation solves the problem of assigning physical registers to live ranges (i.e., variables).

As the code executes, different live ranges are completed at different times, freeing up registers for use by subsequent processing stages. In the example below, each “add” and “multiply” instruction requires all operands and the result to be in physical registers. The live range x is allocated to the green register and is completed before either live ranges in the blue or yellow registers. After x is completed, the green register becomes available and is assigned to live range t.

Register allocation example.

When it's time to allocate live range q, there are no available registers, so the register allocation pass must decide which (if any) live range can be "evicted" from its register to make room for q. This is referred to as the “live range eviction” problem, and is the decision for which we train the model to replace original heuristics. In this particular example, it evicts z from the yellow register, and assigns it to q and the first half of z.

We now consider the unassigned second half of live range z. We have a conflict again, and this time the live range t is evicted and split, and the first half of t and the final part of z end up using the green register. The middle part of z corresponds to the instruction q = t * y, where z is not being used, so it is not assigned to any register and its value is stored in the stack from the yellow register, which later gets reloaded to the green register. The same happens to t. This adds extra load/store instructions to the code and degrades performance. The goal of the register allocation algorithm is to reduce such inefficiencies as much as possible. This is used as the reward to guide RL policy training.

Similar to the inlining-for-size policy, the register allocation (regalloc-for-performance) policy is trained on a large Google internal software package, and is generalizable across different software, with 0.3% ~1.5% improvements in queries per second (QPS) on a set of internal large-scale datacenter applications. The QPS improvement has persisted for months after its deployment, showing the model’s generalizability across the time horizon.

Conclusion and Future Work
We propose MLGO, a framework for integrating ML techniques systematically in an industrial compiler, LLVM. MLGO is a general framework that can be expanded to be: 1) deeper, e.g., adding more features, and applying better RL algorithms; and 2) broader, by applying it to more optimization heuristics beyond inlining and regalloc. We are enthusiastic about the possibilities MLGO can bring to the compiler optimization domain and look forward to its further adoption and to future contributions from the research community.

Try it Yourself
Check out the open-sourced end-to-end data collection and training solution on github and a demo that uses policy gradient to train an inlining-for-size policy.

Acknowledgements
We’d like to thank MLGO’s contributors and collaborators Eugene Brevdo, Jacob Hegna, Gaurav Jain, David Li, Zinan Lin, Kshiteej Mahajan, Jack Morris, Girish Mururu, Jin Xin Ng, Robert Ormandi, Easwaran Raman, Ondrej Sykora, Maruf Zaber, Weiye Zhao. We would also like to thank Petr Hosek, Yuqian Li, Roland McGrath, Haowei Wu for trusting us and deploying MLGO in Fuchsia as MLGO’s very first customer; thank David Blaikie, Eric Christopher, Brooks Moses, Jordan Rupprecht for helping to deploy MLGO in Google internal large-scale datacenter applications; and thank Ed Chi, Tipp Moseley for their leadership support.

Source: Google AI Blog


Campaign Anomaly Detector

Posted by Meirav Shaul, Dvir Kalev, Roy Sela, Omri Levy, Tal Rimon Edelstein, Elad Ben-David, and Tzhahi Zilberstein, Team Lead

A while ago Google released “Account Anomaly Detector” which you know.

A few clients approached the gTech team at Google, asking to add some monitoring capabilities.

That’s why we created an unofficial, open-source evolved version of it. We named it “Campaign Anomaly Detector”. It has recently been published on github, ready for advertisers to deploy and use it for defining and detecting metrics anomalies.

Hosted on github, everyone is more than welcome to contribute more code to this ever-growing project. Happy monitoring!


Solution Requirements

Key Features

  • Entity to Monitor - option to select all/some child accounts under an MCC/specific campaigns.
  • Period selection - option to select both current and past periods for comparison
  • Metrics Selection & Anomaly Definition - option to select key metrics to be monitored, and the threshold values which will be considered as anomalies.
  • Dashboard - Data studio dashboard that presents identified anomalies
  • Email alerts - option to define the emails to notify once anomaly is identified

Key Components

The solution includes the following components:

  • Configuration Sheet (“input”) - Google Sheet for setting the monitoring parameters (entities for monitoring, period selection, metrics & thresholds, email alerts)
  • Simulator to support the period calculation and settings
  • Dashboard Sheet (“results”) - dedicated tab in the configuration sheet, that presents the identified anomalies
  • Data Studio Dashboard that presents the identified anomalies


Tutorial Video


Github

  • Find the open source repository here

Disclaimer

Copyright 2022 Google LLC. This solution, including any related sample code or data, is made available on an “as is,” “as available,” and “with all faults” basis, solely for illustrative purposes, and without warranty or representation of any kind. This solution is experimental, unsupported and provided solely for your convenience. Your use of it is subject to your agreements with Google, as applicable, and may constitute a beta feature as defined under those agreements. To the extent that you make any data available to Google in connection with your use of the solution, you represent and warrant that you have all necessary and appropriate rights, consents and permissions to permit Google to use and process that data. By using any portion of this solution, you acknowledge, assume and accept all risks, known and unknown, associated with its usage, including with respect to your deployment of any portion of this solution in your systems, or usage in connection with your business, if at all.

Supporting news innovation in the Asia Pacific region

News organizations in Asia Pacific are at the forefront of innovation when it comes to connecting with readers and exploring new business models. We’ve seen this first-hand, working with partners across the region and heard great ideas for encouraging a more sustainable news industry.

To support this innovation, today we’re pleased to announce the third Asia Pacific Google News Initiative (GNI) Innovation Challenge, as part of our ongoing commitment to support the news industry around the world.

Applications are open to news organizations of all sizes for projects that focus on innovation in the news industry. Previous rounds of the Innovation Challenge supported more than 30 publishers across APAC to develop sustainable business models by diversifying revenue streams and increasing audience engagement.

Some past recipients include:

  • The News Minute in India launched a membership program to turn fans into members.
  • South Korea’s Busan Daily used AI to gain a new understanding of audience preferences and introduced personalization to onsite search, deepening engagement and increasing conversions.
  • The Conversation in Australia developed new community standards and tools to make conversations on its platform safer, more inclusive and constructive.
  • In Pakistan, The Current built a new membership model and tested an alternate stream of revenue for digital news startups.
  • In Japan, Asahi Shimbun focused on tipping and donations as new means of reader revenue.
  • Kumparan in Indonesia created a donation process so people can pledge money directly from news platforms.
  • The women-run rural news outlet Khabar Lahariya in India made the transition to digital, reaching new readers and building a stronger business.

How the Innovation Challenge works

The Asia Pacific GNI Innovation Challenge is open to news organizations of all sizes that aim to produce original journalism and whose projects focus on innovation to create a more sustainable and diverse news sector. Projects will be evaluated against several criteria, including: impact on the news community, innovation, feasibility and a willingness to share knowledge. Applicants should be based in the Asia Pacific region and have their principal place of business there. For more information on eligible projects, criteria and funding, see our website.

How to apply

Applications are open until August 23 at 11:59 PM SGT and can be submitted via our website in English, Bengali, Chinese (traditional), Hindi, Indonesian, Japanese, Korean or Thai. We’ll be hosting a virtual town hall on Wednesday, July 13 at 2:00 PM SGT to answer applicants’ questions.

The GNI Innovation Challenges have been driving innovation in news since 2018 and have funded over 200 projects in 47 countries globally. We want to help empower news organizations across the APAC region to pioneer new thinking to support quality journalism. We look forward to receiving your application!

Google News Showcase continues to grow in the UK

At the beginning of last year, we brought Google News Showcase, our product experience and licensing programme for news publishers, to the U.K. It’s designed to help publishers engage more deeply with their readers – and to help readers find, follow and support the news organisations covering the issues that matter to them. We continue to learn, update and expand the product, and we’ve seen strong, steady numbers – both in terms of the number of publishers signing on for the product in the UK, and how readers are interacting with the content.

More publishers join News Showcase in the UK

We’ve negotiated and signed deals with almost 240 news titles in the U.K. since launching News Showcase. The most recent is The Guardian, building on our longstanding work together on digital innovation for the future of news.

Keith Underwood, CEO of The Guardian, commented: “We are pleased to have expanded our partnership with Google to make our journalism available in digital, video and other formats in ways that will engage even wider audiences. This new deal supports further investment in journalism and will bring a new audience back to our sites where we can build deeper relationships of enduring value.”

Local news publishers make up 93% of the titles who’ve signed up to News Showcase in the U.K. to curate news in new ways and deepen their engagement with online audiences. These include Grantham Journal, NationalWorld.com, Reach’s Belfast Live and Clear Sky’s North Devon Gazette.

As Mark Thompson, Editor of National World, says: "We believe it is vital that our stories, videos and images are given the value they deserve so that we can produce ever more insightful, reliable and relevant journalism for audiences all over the UK. News Showcase has enabled our teams based in England, Scotland and Northern Ireland to display their impressive work on a great platform and in a meaningful way.”

Simon Bax, CEO of Clear Sky, also tells us: "Joining the Google News Showcase has had a dramatic and immediate effect as it has enabled us to hire an additional journalist, has elevated our standing within the community and has increased the team's self-assurance."

We recently announced that we’re making it easier to find local publishers in Google News Showcase by bringing their panels into the local section of Google News. Through our partnerships with local news publishers in the U.K., we’ve seen first-hand how local news is an essential way for readers to connect to their communities and ensure they get the news that impacts their day-to-day lives.

Supporting publishers and journalists in the UK

News Showcase is one element of our broader investment in news and journalism in the U.K. We spent more than $18 million on training, partnerships and programming with news organisations and other news industry partners between 2018 to 2020, and we’ve trained 16,500 journalists and journalism students since 2015.

We’re proud to fund the Journalism AI fellowship, organised by the media think-tank Polis at the London School of Economics, and to support organisations like Headlines Network who are providing essential mental health resources for journalists in England and Wales. We’re continuing our support for the University of Central Lancashire's Journalism innovation and Leadership (JIL) Programme for a third year and recently announced the Innovation Challenge for Europe, where small and medium-sized news organisations can apply for funding to stimulate innovation in news.

We’re dedicated to continuing our contribution to and collaboration with the news ecosystem, supporting the open web and continuing to provide access to information in the UK and elsewhere.

Chrome for Android Update

Hi, everyone! We've just released Chrome 103 (103.0.5060.71) for Android: it'll become available on Google Play over the next few days.

This release includes security,stability and performance improvements. You can see a full list of the changes in the Git log.


 Security Fixes and Rewards

Note: Access to bug details and links may be kept restricted until a majority of users are updated with a fix. We will also retain restrictions if the bug exists in a third party library that other projects similarly depend on, but haven’t yet fixed.


This update includes 3 security fixes. Below, we highlight fixes that were contributed by external researchers. Please see the Chrome Security Page for more information.


[$TBD][1327312] High CVE-2022-2294: Heap buffer overflow in WebRTC.

[$7500][1336869] High CVE-2022-2295: Type Confusion in V8. Reported by avaue and Buff3tts at S.S.L. on 2022-06-16


We would also like to thank all security researchers that worked with us during the development cycle to prevent security bugs from ever reaching the stable channel.

Google is aware that an exploit for CVE-2022-2294 exists in the wild.



As usual, our ongoing internal security work was responsible for a wide range of fixes:

  • [1341569] Various fixes from internal audits, fuzzing and other initiatives


Many of our security bugs are detected using AddressSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, Control Flow Integrity, libFuzzer, or AFL.

If you find a new issue, please let us know by filing a bug.

Krishna Govind
Google Chrome

Stable Channel Update for Desktop

The Stable channel has been updated to 103.0.5060.114 for Windows. which will roll out over the coming days/weeks.

A full list of changes in this build is available in the log. Interested in switching release channels? Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


 Security Fixes and Rewards

Note: Access to bug details and links may be kept restricted until a majority of users are updated with a fix. We will also retain restrictions if the bug exists in a third party library that other projects similarly depend on, but haven’t yet fixed.


This update includes 4 security fixes. Below, we highlight fixes that were contributed by external researchers. Please see the Chrome Security Page for more information.

[$TBD][1341043] High CVE-2022-2294: Heap buffer overflow in WebRTC. Reported by Jan Vojtesek from the Avast Threat Intelligence team on 2022-07-01

[$7500][1336869] High CVE-2022-2295: Type Confusion in V8. Reported by avaue and Buff3tts at S.S.L. on 2022-06-16

[$3000][1327087] High CVE-2022-2296: Use after free in Chrome OS Shell. Reported by Khalil Zhani on 2022-05-19

We would also like to thank all security researchers that worked with us during the development cycle to prevent security bugs from ever reaching the stable channel.

Google is aware that an exploit for CVE-2022-2294 exists in the wild.



As usual, our ongoing internal security work was responsible for a wide range of fixes:

  • [1338205] Various fixes from internal audits, fuzzing and other initiatives

Many of our security bugs are detected using AddressSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, Control Flow Integrity, libFuzzer, or AFL.


Interested in switching release channels?  Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.




Prudhvikumar Bommana
Google Chrome

Extended Stable Channel Update for Desktop

The Extended Stable channel has been updated to 102.0.5005.148 for Windows and Mac which will roll out over the coming days/weeks.

The following critical security fix has been included in this release.  

[$TBD][1341043] High CVE-2022-2294: Heap buffer overflow in WebRTC. Reported by Jan Vojtesek from the Avast Threat Intelligence team on 2022-07-01

Google is aware that an exploit for CVE-2022-2294 exists in the wild.

A full list of changes in this build is available in the log. Interested in switching release channels? Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.


Srinivas Sista
Google Chrome

Google Workspace Updates Weekly Recap – July 1, 2022

New updates

Unless otherwise indicated, the features below are fully launched or in the process of rolling out (rollouts should take no more than 15 business days to complete), launching to both Rapid and Scheduled Release at the same time (if not, each stage of rollout should take no more than 15 business days to complete), and available to all Google Workspace and G Suite customers. 


Drag out from Keep 
You can now effortlessly insert images saved in your Keep notes into other apps by dragging them out from the image carousel on Android devices. | Learn more. 
Drag out from Keep


Previous announcements 

The announcements below were published on the Workspace Updates blog earlier this week. Please refer to the original blog posts for complete details.

Offline syncing available for opened Microsoft Office documents 
You can now work offline with Microsoft Office files on your desktop. | Learn more


Rich text formatting in Google Forms titles and descriptions 
In addition to new options for styling fonts, rich text formatting is now available in Google Forms, enabling you to customize and add emphasis to your forms. | Learn more


Start meetings more efficiently with the Calendar guest list in Google Meet 
In Google Meet, you can now see participants who were invited to the meeting but have yet to join the call. | Available to Google Workspace Enterprise Standard, Enterprise Plus, Business Starter, Business Standard, Business Plus, Education Fundamentals, Education Standard, the Teaching & Learning Upgrade, Education Plus, Non profit customers, and legacy G Suite Basic and Business customers only. | Learn more


Updated timeline for the new integrated view for Gmail 
We’ve rolled out the opt-out experience to a segment of Gmail users. This means that select users will see the new Gmail experience by default, but they will still have the option to revert to classic Gmail via the settings menu. | Learn more


New security alerts for highly sensitive changes to Google Workspace configurations 
In the Alert Center, admins will now be notified of select critical and sensitive changes made to their Google Workspace configurations. | Learn more


Synchronize client-side encrypted files with Google Drive for Desktop on Windows and Mac OS 
Admins can update their client-side encryption configurations to include Drive for Desktop. When enabled, users can synchronize their Google Drive, Docs, Sheets, and Slides files with Drive for Desktop on Windows & Mac OS devices. | Encrypt and upload local files is available to Google Workspace Enterprise Plus, Education Standard and Education Plus customers only. | Learn more


Easily share profile links via Contacts 
Every contact with a Workspace email now has a new profile link that is easy to copy, share, and send within an organization. | Learn more


For a recap of announcements in the past six months, check out What’s new in Google Workspace (recent releases).

Protecting people’s privacy on health topics

Protecting our users’ privacy and securing their data is core to Google’s work. That’s why we design products to help people keep their personal information private, safe, and secure — with easy-to-use tools and built-in protections.

Privacy matters to people — especially around topics such as their health. Given that these issues apply to healthcare providers, telecommunications companies, banks, tech platforms, and many more, we know privacy protections cannot be solely up to individual companies or states acting individually. That’s why we’ve long advocated for a comprehensive and nationwide U.S. privacy law that guarantees protections for everyone, and we’re pleased to see recent progress in Congress.

But we haven’t waited for a law to take action. We understand that people rely on Google to keep their personal data secure. We’ve long been committed to this work, and today we're sharing additional steps we're taking to protect user privacy around health issues.

Protecting user privacy

We offer a variety of easy-to-use privacy tools and settings that put people in control of their data. This is particularly important to people around health topics, which is why our data policies include a number of restrictions. In addition, we have protections around:

  • Location History: Location History is a Google account setting that is off by default, and for those that turn it on, we provide simple controls like auto-delete so users can easily delete parts, or all, of their data at any time. Some of the places people visit — including medical facilities like counseling centers, domestic violence shelters, abortion clinics, fertility centers, addiction treatment facilities, weight loss clinics, cosmetic surgery clinics, and others — can be particularly personal. Today, we’re announcing that if our systems identify that someone has visited one of these places, we will delete these entries from Location History soon after they visit. This change will take effect in the coming weeks.
  • User Data on Apps: Google Play has strict protocols to protect user privacy — including policies that prohibit developers from selling personal and sensitive user data and a requirement that they handle that data securely and only for purposes directly related to operating the app. To further promote transparency and control for users, we also recently introduced Play’s new data safety section that developers use to give people more information about how apps collect, share, and secure their data. For Google Fit and Fitbit, we give users settings and tools to easily access and control their personal data, including the option to change and delete personal information, at any time. For example, Fitbit users who have chosen to track their menstrual cycles in the app can currently delete menstruation logs one at a time, and we will be rolling out updates that let users delete multiple logs at once.
  • Law Enforcement Demands for User Data: Google has a long track record of pushing back on overly broad demands from law enforcement, including objecting to some demands entirely. We take into account the privacy and security expectations of people using our products, and we notify people when we comply with government demands, unless we’re prohibited from doing so or lives are at stake — such as in an emergency situation. In fact, we were the first major company to regularly share the number and types of government demands we receive in a Transparency Report. We remain committed to protecting our users against improper government demands for data, and we will continue to oppose demands that are overly broad or otherwise legally objectionable. We also will continue to support bipartisan legislation, such as the NDO Fairness Act recently passed by the House of Representatives, to reduce secrecy and increase transparency around government data demands.

We’re committed to delivering robust privacy protections for people who use our products, and we will continue to look for new ways to strengthen and improve these protections. We support Congressional efforts to reach bipartisan agreement on nationwide privacy protections that move the burden of privacy off individuals and establish good data practices across the board. In the meantime, we will continue our focus on securing our products and protecting the privacy of our users around the world.

Protecting people’s privacy on health topics

Protecting our users’ privacy and securing their data is core to Google’s work. That’s why we design products to help people keep their personal information private, safe, and secure — with easy-to-use tools and built-in protections.

Privacy matters to people — especially around topics such as their health. Given that these issues apply to healthcare providers, telecommunications companies, banks, tech platforms, and many more, we know privacy protections cannot be solely up to individual companies or states acting individually. That’s why we’ve long advocated for a comprehensive and nationwide U.S. privacy law that guarantees protections for everyone, and we’re pleased to see recent progress in Congress.

But we haven’t waited for a law to take action. We understand that people rely on Google to keep their personal data secure. We’ve long been committed to this work, and today we're sharing additional steps we're taking to protect user privacy around health issues.

Protecting user privacy

We offer a variety of easy-to-use privacy tools and settings that put people in control of their data. This is particularly important to people around health topics, which is why our data policies include a number of restrictions. In addition, we have protections around:

  • Location History: Location History is a Google account setting that is off by default, and for those that turn it on, we provide simple controls like auto-delete so users can easily delete parts, or all, of their data at any time. Some of the places people visit — including medical facilities like counseling centers, domestic violence shelters, abortion clinics, fertility centers, addiction treatment facilities, weight loss clinics, cosmetic surgery clinics, and others — can be particularly personal. Today, we’re announcing that if our systems identify that someone has visited one of these places, we will delete these entries from Location History soon after they visit. This change will take effect in the coming weeks.
  • User Data on Apps: Google Play has strict protocols to protect user privacy — including policies that prohibit developers from selling personal and sensitive user data and a requirement that they handle that data securely and only for purposes directly related to operating the app. To further promote transparency and control for users, we also recently introduced Play’s new data safety section that developers use to give people more information about how apps collect, share, and secure their data. For Google Fit and Fitbit, we give users settings and tools to easily access and control their personal data, including the option to change and delete personal information, at any time. For example, Fitbit users who have chosen to track their menstrual cycles in the app can currently delete menstruation logs one at a time, and we will be rolling out updates that let users delete multiple logs at once.
  • Law Enforcement Demands for User Data: Google has a long track record of pushing back on overly broad demands from law enforcement, including objecting to some demands entirely. We take into account the privacy and security expectations of people using our products, and we notify people when we comply with government demands, unless we’re prohibited from doing so or lives are at stake — such as in an emergency situation. In fact, we were the first major company to regularly share the number and types of government demands we receive in a Transparency Report. We remain committed to protecting our users against improper government demands for data, and we will continue to oppose demands that are overly broad or otherwise legally objectionable. We also will continue to support bipartisan legislation, such as the NDO Fairness Act recently passed by the House of Representatives, to reduce secrecy and increase transparency around government data demands.

We’re committed to delivering robust privacy protections for people who use our products, and we will continue to look for new ways to strengthen and improve these protections. We support Congressional efforts to reach bipartisan agreement on nationwide privacy protections that move the burden of privacy off individuals and establish good data practices across the board. In the meantime, we will continue our focus on securing our products and protecting the privacy of our users around the world.