gitwtfhub

wtf is no-gdid?

korben00/no-gdid — explained in plain English

Analysis updated 2026-05-18

113PowerShellAudience · developerComplexity · 3/5LicenseSetup · moderate

TL;DR

A PowerShell toolkit that audits and silences reporting of Windows' hidden Global Device Identifier, without erasing it or granting anonymity.

Mindmap

mindmap
  root((repo))
    What it does
      Audit device ID
      Silence reporting
      Revert changes
    Tech stack
      PowerShell
      Windows registry
    Use cases
      Check GDID exposure
      Disable reporting services
      Restore original state
    Audience
      Privacy focused users
      Windows admins

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Audit whether your Windows machine's Global Device Identifier is being reported.

REASON 2

Disable the background services and endpoints that report the GDID to Microsoft.

REASON 3

Revert the mitigation to restore normal Windows services.

What's in the stack?

PowerShell

How it stacks up

korben00/no-gdiddisintegr8te/teams-policy-exportrimagination/good-question
Stars11311494
LanguagePowerShellPowerShellPowerShell
Setup difficultymoderatemoderateeasy
Complexity3/53/51/5
Audiencedeveloperops devopsresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires an elevated PowerShell session, test in a VM snapshot before applying mitigations since they disable real Windows services.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

Wtf does this do

no-gdid is a PowerShell toolkit that explains and reduces the reach of a hidden Windows identifier called the Global Device Identifier, or GDID. The project is upfront that it does not erase this identifier and does not make anyone anonymous. The GDID is created and stored on Microsoft's own servers as soon as a Windows machine signs in with a Microsoft Account, and no local script can undo that. What the tool actually does is stop the machine from continuing to check in and report that identifier going forward. The README explains where the identifier comes from and why it matters: it is a numeric ID tied to a Microsoft Account, cached in the Windows registry, registered with a Microsoft device directory service, and periodically reported through a background delivery system. Unlike an IP address, it does not change when someone switches networks or uses a VPN, which is why the project's introduction points to a real case where investigators reportedly used this kind of identifier to help locate a suspect despite VPN use. The toolkit is organized into read-only audit scripts that show a user their own identifier and which background services are active, and separate mitigation scripts that can disable those services and block their network endpoints, with a companion script to undo the changes. Every mitigation script requires an explicit flag before it makes any real change, and the author recommends testing first inside a virtual machine with a snapshot, since the mitigation disables real Windows services. The README is direct about the limits: deleting the local copy of the identifier does nothing because it is regenerated from the server, and turning off standard Windows telemetry settings does not stop it either, since it travels through a different background service. Disabling the relevant services also breaks some Windows features, including peer to peer update sharing and cross device linking with a phone. Microsoft Account sign-in itself is left working throughout. The project is released under the MIT license and is described by its author as defensive, privacy-oriented tooling meant for use only on machines the user owns.

Yoink these prompts

Prompt 1
Run the read-only GDID audit script and explain what it found about my device identifier.
Prompt 2
Preview what Disable-GDID-Services.ps1 would change before applying it.
Prompt 3
Explain why deleting the GDID registry key doesn't actually remove the identifier.
Prompt 4
Undo the GDID mitigation and restore the disabled Windows services.

Frequently asked questions

wtf is no-gdid?

A PowerShell toolkit that audits and silences reporting of Windows' hidden Global Device Identifier, without erasing it or granting anonymity.

What language is no-gdid written in?

Mainly PowerShell. The stack also includes PowerShell.

What license does no-gdid use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is no-gdid to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is no-gdid for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.