diff --git a/README.md b/README.md
index 3ddc04b..2ccd0ce 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-
-
-
+
+
+
diff --git a/docs/assets/SHA-pinning-enabled.png b/docs/assets/SHA-pinning-enabled.png
index f45ac4b..53d5d14 100644
Binary files a/docs/assets/SHA-pinning-enabled.png and b/docs/assets/SHA-pinning-enabled.png differ
diff --git a/docs/assets/banner-dark-1.png b/docs/assets/banner-dark-1.png
deleted file mode 100644
index 08500f3..0000000
Binary files a/docs/assets/banner-dark-1.png and /dev/null differ
diff --git a/docs/assets/banner-dark.png b/docs/assets/banner-dark.png
new file mode 100644
index 0000000..66e780c
Binary files /dev/null and b/docs/assets/banner-dark.png differ
diff --git a/docs/assets/banner-dark.svg b/docs/assets/banner-dark.svg
new file mode 100644
index 0000000..c1d400b
--- /dev/null
+++ b/docs/assets/banner-dark.svg
@@ -0,0 +1,50 @@
+
diff --git a/docs/assets/banner-light-1.png b/docs/assets/banner-light-1.png
deleted file mode 100644
index 22d923e..0000000
Binary files a/docs/assets/banner-light-1.png and /dev/null differ
diff --git a/docs/assets/banner-light.png b/docs/assets/banner-light.png
new file mode 100644
index 0000000..ec8b5a8
Binary files /dev/null and b/docs/assets/banner-light.png differ
diff --git a/docs/assets/banner-light.svg b/docs/assets/banner-light.svg
new file mode 100644
index 0000000..f00dc1c
--- /dev/null
+++ b/docs/assets/banner-light.svg
@@ -0,0 +1,50 @@
+
+PolicyChecks
+PolicyChecks banner: enamel shield logo, the name PolicyChecks, a badge reading best practices enabled, and the tagline Not just by habit, enforced by settings.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+PolicyChecks
+
+ BEST PRACTICES: enabled
+
+
+
+
+
+
+
+
+
+
+
+
+ BEST PRACTICES
+ BEST PRACTICES
+ enabled
+ enabled
+
+
+Not just by habit, enforced by settings.
+
diff --git a/docs/assets/generators/brand.py b/docs/assets/generators/brand.py
new file mode 100644
index 0000000..f85ff7c
--- /dev/null
+++ b/docs/assets/generators/brand.py
@@ -0,0 +1,300 @@
+"""
+Generate the brand graphics: README banners, the social preview, and PNG
+exports of the logo mark.
+
+Outputs (paths relative to the repository root):
+
+ docs/assets/banner-light.svg, banner-light.png 800x200 (PNG at 2x)
+ docs/assets/banner-dark.svg, banner-dark.png
+ docs/assets/social-preview-light.png 1280x640 (GitHub's size)
+ docs/assets/social-preview-dark.png
+ docs/assets/logo/policychecks-mark-512.png square exports of the mark
+ docs/assets/logo/policychecks-mark-200.png
+
+The mark itself (docs/assets/logo/policychecks-mark.svg) is hand-drawn and is
+the input here, not an output. Each composition embeds it once and reuses it
+with