aboutsummaryrefslogtreecommitdiff

Git Privacy

This document is mainly concerned with why one would want to obfuscate Git timestamps. See HOWTO.md for instructions on how to obfuscate Git timestamps. See REFERENCE.md for technical information about Git timestamps.

Why obfuscate Git timestamps?

The following user stories illustrate why one might want to obfuscate Git timestamps:

"As a globetrotting remote contributor for a public codebase, I want to hide my timezone so that strangers on the internet don't know when I'm away from home."

"As a translator for a public codebase, I want to erase my timestamps so that I don't have to be creeped out that anybody can see exactly when I was working every day for the past ten years."

"As a privacy-conscious maintainer for a public codebase, I want to avoid leaking the times when I'm working so that there's one less way for mass surveillance to track me."

"As a pseudonymous software developer for a controversial public codebase, I want to avoid leaking my timezone so that it's harder for technically-proficient adversaries to deanonymize me by correlating my timezone with other information."

Why not obfuscate Git timestamps?

There are reasons it might be a bad idea to obfuscate Git timestamps.

Functionality

Certain Git commands may not work as intended with obfuscated timestamps.

TODO:

  • Investigate which commands are affected by timestamp obfuscation
  • Investigate if Git ignores clearly forged timestamps

The author is not a lawyer and this is not legal advice.

If the copyright holder of a piece of code is ever in dispute, having obfuscated Git timestamps could be disadvantageous to proving ownership of the code. Even with Git timestamps that are accurate to the nearest hour, the mere fact that they are manipulated could introduce skepticism about who holds the copyright.

Why is timestamp obfuscation not an official feature of Git?

The author proposed adding a new timestamp obfuscation feature in Git, but for a variety of reasons Git maintainers were not convinced.

License

This file is licensed under CC-BY-SA 4.0.