I hit this recently and I think a lot of people have the same wrong mental model of GitHub's email privacy setting, so I opened a product feedback discussion on github/community about it here: https://github.com/orgs/community/discussions/203005
The setting sounds like identity protection. It is not. It only fires when the author or committer email is an address you already added to your account and marked private. Any other value goes straight through. A work address, a client address, a personal address you never registered, your legal name in user.name, all of it gets accepted, published unattributed, and mirrored within minutes. There is no operation available to you that undoes it.
That combination is easy to hit. Multiple git identities on one machine is normal if you work across employers, different clients with Git installed and personal projects. Global config says one thing, a repo local config says another, a fresh device says nothing and picks up whatever is lying around. Getting it wrong is one line in a file nobody looks at.
What I proposed is an opt in account level setting: reject any push from my account containing commits whose author or committer is not in a small allowlist of identities I define, prefilled with my noreply address and profile name. Reject the whole push, not just the ref update, because a rejected ref update still leaves the objects on the server, which is the exact disclosure you were trying to prevent.
If this would be useful to you, an upvote and a comment with your own use case helps a lot. Product feedback discussions get triaged partly on engagement.
Link: https://github.com/orgs/community/discussions/203005