diff --git a/README.md b/README.md
index 4ca040d27fdbb02f72faacb6e39f19285e4275ea..938d61cca209727951c35bfed7be07d0d7b18083 100644
--- a/README.md
+++ b/README.md
@@ -80,3 +80,22 @@ reproduce those.
 To build a specific version of Tor, run
 
     docker run briar/tor-reproducer:latest ./build_tor.py [version]
+
+### Upstream build system
+
+This repository uses the upstream Tor build system for building macOS
+binaries. The `tor-versions.json` file defines the configuration for that
+system via the `upstream` stanza.
+
+We maintain our own
+[fork](https://code.briarproject.org/briar/tor-browser-build) of the
+[tor-browser-build](https://gitlab.torproject.org/tpo/applications/tor-browser-build)
+repository so that we're able to define which Tor browser version and
+exact upstream commit/tag we're building our Tor binaries from and
+additionally have the ability to apply patches.
+This makes it for example possible to build Tor binaries with a higher
+version number than yet released in a Tor browser release.
+We maintain a branch that's based on one of the upstream branches such
+as `maint-12.0` but appends a tor version (i.e. `maint-12.0-tor-0.4.7.14`).
+Then we create an annotated tag such as `tor-0.4.7.14` from that branch
+and use that tag name in the `tor-versions.json` configuration file.