The finding
The commit author is a free text field.
This is the best example we have, because it takes one command to check and almost nobody knows it. It is also the one people feel most strongly about once they do: do not commit on my behalf is a reasonable thing to want, and it is not something a prompt can give you.
“This name has no effect on authentication; for that, see the credential.username variable in git-config[1].”
On the author and committer name — git-scm.com, git-commit reference, read 12 September 2026. The same page documents --author=<author>: “Override the commit author. Specify an explicit author using the standard A U Thor <author@example.com> format.”
And the same freedom exists over ordinary web requests, without a git client anywhere in the picture. The code host's own file-contents endpoint takes both fields as parameters:
| Parameter | Required within it | The documentation's own wording |
| committer | name, email | “The person that committed the file. Default: the authenticated user.” |
| author | name, email | “The author of the file. Default: The committer or the authenticated user if you omit committer.” |
Both default to the authenticated user only if omitted. Supplied, they are taken. The stated requirement for the endpoint is the repo scope on a classic token, or contents write on a fine-grained one — and nothing else. docs.github.com, repository contents, read 12 September 2026.
“GitHub links a commit to a user by matching the email address in the commit header to an email address on a GitHub account.”
docs.github.com, why are my commits linked to the wrong user, read 12 September 2026. The same page notes that a commit linked to another user “does not give them access to your repository” — the linkage is display and attribution, not permission.
So: an assistant holding a contents-write token can produce a commit whose author is any name and any address, and the host will attribute it to whoever owns that address. There is no consent step and no notification. Put it on a provider page exactly like this:
Can the assistant commit as me?
Yes. The author field is free text, at the command line and through the web interface alike
Will it be attributed to me?
Yes, if the address in the commit header is one on your account
Will I be told?
No. No consent step and no notification are documented
Does a prompt stop it?
No mechanism exists. The instruction has nothing enforcing it
What does stop it?
A branch rule requiring signed commits. One setting, free, on the repository
“When you enable required commit signing on a branch, contributors and bots can only push commits that have been signed and verified to the branch.”
The require signed commits rule — docs.github.com, available rules for rulesets, read 12 September 2026. On the same page, restrict deletions and block force pushes are both documented as enabled by default in a new ruleset; required signing is not.
And the feature most people reach for is not this one. Vigilant mode marks all of a user's commits with a verification status, so an unsigned commit bearing their address displays as unverified rather than displaying nothing at all. The documentation states that “by default vigilant mode is not enabled”, and it is enabled by the person being impersonated rather than by the repository. It is a label, not a refusal.
“The commit is signed, and the signature was successfully verified, but the commit has an author who: a) is not the committer and b) has enabled vigilant mode. In this case, the commit signature doesn't guarantee the consent of the author, so the commit is only partially verified.”
The partially verified state — docs.github.com, about commit signature verification, read 12 September 2026
A green badge does not mean the person named wrote it.
That sentence is the host's own, in effect, and it is the whole argument. The verification status tells you a signature checked out. It does not tell you that the author agreed to be the author — and the documentation says so explicitly, which is more than most vendors do.
Two precisions on the brief this page comes from, and they run in opposite directions.
The partially verified state has a condition the brief omitted: it requires the author to have enabled vigilant mode, so most impersonated authors will not see that state at all — they will see an ordinary unverified commit, which is worse rather than better.
And we could not find the brief's claim that the attribution carries the account's profile picture and a link to the profile on the page cited; that page states only the email-to-account matching. So this page claims the matching, which is documented, and not the rendering, which we did not verify.