{
 "number": 35858,
 "repo": "bitcoin/bitcoin",
 "url": "https://github.com/bitcoin/bitcoin/pull/35858",
 "title": "doc: Add privacy.md consolidating network privacy recommendations",
 "author": "pablomartin4btc",
 "author_association": "MEMBER",
 "created_at": "2026-08-01T03:49:46Z",
 "updated_at": "2026-08-29T03:07:14Z",
 "age_days": 47,
 "draft": false,
 "labels": [
  "Docs"
 ],
 "milestone": null,
 "base": "master",
 "head_sha": "1b07681dfebffe4e31dd92042c5ba8493a5cf9b7",
 "head_ref": "doc/privacy",
 "head_repo": "pablomartin4btc/bitcoin",
 "head_history": [],
 "additions": 79,
 "deletions": 19,
 "changed_files": 4,
 "commit_count": 2,
 "size_bucket": "S",
 "mergeable_state": "clean",
 "bot": {
  "drahtbot": {
   "present": true,
   "reviews": {
    "concept_ack": [
     {
      "login": "jonatack",
      "url": "https://github.com/bitcoin/bitcoin/pull/35858#pullrequestreview-5055285409"
     }
    ]
   },
   "conflicts": []
  }
 },
 "acks_parsed": {
  "jonatack": {
   "kind": "concept_ack",
   "hash": null,
   "t": "2026-08-28T21:38:38Z",
   "stale": false
  }
 },
 "acks_tally": {
  "ack": 0,
  "stale_ack": 0,
  "concept_ack": 1,
  "approach_ack": 0,
  "nack": 0,
  "concept_nack": 0,
  "approach_nack": 0
 },
 "reviews": {
  "approved": 0,
  "changes_requested": 0,
  "distinct_reviewers": [
   "jonatack"
  ]
 },
 "signals": {
  "needs_rebase": false,
  "ci_failed": false,
  "mergeable_state": "clean",
  "last_author_activity": "2026-08-29T03:07:14Z",
  "last_reviewer_activity": "2026-08-28T21:38:38Z",
  "last_reviewer": "jonatack",
  "author_silent_days": 19,
  "waiting_on_author_days": 0,
  "days_since_update": 19
 },
 "refs": {
  "mentioned": [
   29415
  ],
  "depends_on": [],
  "fixes": [],
  "linked_issues": [],
  "references": [
   {
    "number": 29415,
    "type": "pull",
    "state": "closed",
    "merged": true,
    "merged_at": "2026-01-12",
    "title": "Broadcast own transactions only via short-lived Tor or I2P connections"
   }
  ],
  "conflicts": []
 },
 "stack": {
  "shares_commits_with": [],
  "based_on": [],
  "base_for": []
 },
 "review_paths": [
  "doc/privacy.md"
 ],
 "body": "[Suggested](https://github.com/bitcoin/bitcoin/pull/29415/changes#r2190771746) by ismaelsadeeq in #29415.\n\nCreates `doc/privacy.md` as a single home for Bitcoin Core's privacy tools for transaction broadcasting and network connectivity.\n\n- Commit 1: Move the \"Privacy recommendations\" sections from `doc/tor.md` and `doc/i2p.md` into `privacy.md`, replacing them with pointers. The two files contained the same multi-network unlinkability warning duplicated verbatim; this consolidation removes the duplication. No content changes.\n\n- Commit 2: Add a \"Transaction broadcasting privacy\" section documenting `-privatebroadcast`, its prerequisites (Tor or I2P), current scope (`sendrawtransaction` only, with a link to the tracking issue for planned wallet-level support), and the related RPCs (`getprivatebroadcastinfo`, `abortprivatebroadcast`).",
 "commits": [
  {
   "sha": "886189e83d30fac1bbbc28460f2611502ee7fe82",
   "date": "2026-07-31T23:45:41Z",
   "message": "doc: Extract network privacy recommendations into doc/privacy.md\n\nMove the \"Privacy recommendations\" sections from doc/tor.md and\ndoc/i2p.md into a new doc/privacy.md, replacing them with pointers.\nThe two files contained overlapping advice (the multi-network\nunlinkability warning was duplicated verbatim); consolidating them\nremoves the duplication and gives privacy guidance a single home.\n\nNo behaviour changes; this is a pure documentation refactor."
  },
  {
   "sha": "1b07681dfebffe4e31dd92042c5ba8493a5cf9b7",
   "date": "2026-08-01T03:45:29Z",
   "message": "doc: Document -privatebroadcast option in doc/privacy.md\n\nAdd a \"Transaction broadcasting privacy\" section explaining how\n-privatebroadcast works, its prerequisites (Tor or I2P), current scope\n(sendrawtransaction only, with a link to the tracking issue for\nplanned wallet-level support), and the two related RPCs\n(getprivatebroadcastinfo, abortprivatebroadcast).\n\nUpdate the pointers in doc/tor.md and doc/i2p.md to mention private\ntransaction broadcasting."
  }
 ],
 "timeline": [
  {
   "t": "2026-08-28T21:11:16Z",
   "kind": "comment",
   "who": "pablomartin4btc",
   "assoc": "MEMBER",
   "text": "Gently pinging @ismaelsadeeq and @vasild \u2014 this follows up on the new `privacy.md` consolidation [suggested](https://github.com/bitcoin/bitcoin/pull/29415#discussion_r2190771746) during review of #29415, and covers the `-privatebroadcast` feature from that PR. Happy to adjust scope or wording based on your feedback."
  },
  {
   "t": "2026-08-28T21:38:29Z",
   "kind": "review_comment",
   "who": "jonatack",
   "assoc": "MEMBER",
   "path": "doc/privacy.md",
   "commit": "1b07681dfebffe4e31dd92042c5ba8493a5cf9b7",
   "in_reply_to": null,
   "text": "[quoted text omitted]\n\nIIRC this came from a study of nodes running over both IPv4 and Tor. As I pointed out in the PR that added this note, people running their node over Tor are probably much more likely to use I2P as a second network than clearnet (I can go into why if needed). However, that review and other suggestions from me were ignored.\n\nIt would thus be more helpful to describe (a) what those \"certain conditions\" are, and (b) clarify the more frequently used case of Tor + I2P\n\nAs-is, (and it isn't your fault), I think this note is incomplete (and perhaps misleading)."
  },
  {
   "t": "2026-08-28T21:38:38Z",
   "kind": "review",
   "who": "jonatack",
   "assoc": "MEMBER",
   "state": "COMMENTED",
   "commit": "1b07681dfebffe4e31dd92042c5ba8493a5cf9b7",
   "text": "Concept ACK"
  },
  {
   "t": "2026-08-29T03:07:14Z",
   "kind": "review_comment",
   "who": "pablomartin4btc",
   "assoc": "MEMBER",
   "path": "doc/privacy.md",
   "commit": "1b07681dfebffe4e31dd92042c5ba8493a5cf9b7",
   "in_reply_to": 3884216943,
   "text": "Ok, I see that the thread you are referring to is [this](https://github.com/bitcoin/bitcoin/pull/33750#discussion_r2482683578) one. I agree that we could expand a bit on those circumstances and the risks that would be involved. I'll investigate a bit and see if I can come up with something else to add that I hope could help. Thanks!"
  }
 ],
 "labels_log": [
  {
   "t": "2026-08-01T03:49:49Z",
   "action": "labeled",
   "label": "Docs",
   "who": "DrahtBot"
  }
 ],
 "state_log": [
  {
   "t": "2026-08-01T03:53:45Z",
   "kind": "renamed",
   "who": "pablomartin4btc",
   "from": "doc: Add privacy.md consolidating network privacy recommendations and documenting -privatebroadcast",
   "to": "doc: Add privacy.md consolidating network privacy recommendations"
  }
 ],
 "text_chars": 3070,
 "text_tokens_estimate": 767,
 "changed_paths": [
  "doc/README.md",
  "doc/i2p.md",
  "doc/privacy.md",
  "doc/tor.md"
 ],
 "files": [
  {
   "path": "doc/README.md",
   "add": 1,
   "del": 0
  },
  {
   "path": "doc/i2p.md",
   "add": 3,
   "del": 7
  },
  {
   "path": "doc/privacy.md",
   "add": 72,
   "del": 0
  },
  {
   "path": "doc/tor.md",
   "add": 3,
   "del": 12
  }
 ],
 "test_lines": 0,
 "git": {
  "head": "1b07681dfebffe4e31dd92042c5ba8493a5cf9b7",
  "head_matches_backup": true,
  "base": "87bc4c74c4dff3e5e25abc294934a02f28027a45",
  "commits": [
   {
    "sha": "886189e83d",
    "subject": "doc: Extract network privacy recommendations into doc/privacy.md",
    "files": 4,
    "add": 36,
    "del": 19
   },
   {
    "sha": "1b07681dfe",
    "subject": "doc: Document -privatebroadcast option in doc/privacy.md",
    "files": 3,
    "add": 47,
    "del": 4
   }
  ],
  "patch_truncated": false
 },
 "input_hash": "ec4d76ef10bc5c11",
 "extracted_at": "2026-09-17T16:15:31+00:00"
}