aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: affccef6fcab301ce11eeec57be5302da5f7ac25be30707c838b5970345403ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Git Privacy

This document is mainly concerned with *why* one would want to obfuscate Git timestamps. See [HOWTO.md](HOWTO.md) for instructions on *how* to obfuscate Git timestamps. See [REFERENCE.md](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

### Copyright

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](https://git.github.io/rev_news/2023/08/31/edition-102/#support "Git Rev News: Edition 102") 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](LICENSE).