Files
selfpost/internal/web/static/logo.svg
T
mix 5e5d157496 release: 0.5.0: Pre-1.0 security review, domain-admin role, doc consolidation
A bounce could be recorded as a successful delivery. The log-tailer's
Fixed:
  - A bounce could be recorded as a successful delivery. The log-tailer's
  - Log-tailer resumes where it stopped instead of jumping to end-of-file on
  - Level-2 rate limit no longer overshoots under concurrency: messages that
Changed:
  - The project has a single public home: `github.com/mixeme/selfpost`. Codeberg
  - Code comments no longer cite the archived specification. References like
  - `docs/code-review.md` is gone. Its plan is finished — phases 0 (bar the
  - `docs/architecture.md` gained a *Code layers* section: a diagram of
  - Phase 1 doc/code hygiene (`docs/code-review.md`): removed ~30 stale
  … (1 more in CHANGELOG)
Security:
  - Pre-release security review (plan § D, model Fable, 2026-08-06): full pass
  - `saslpasswd2` argv: the application login is now passed after a `--`
Added:
  - Optional password encryption for the two secret-bearing downloads (plan
  - Domain import accepts an encrypted export: the envelope is detected by its
  - `selfpost-backup` writes encrypted archives and reads them back:
  - `TestParseDelivery` covers the exotic mail.log shapes the review asked for
  - docs: README *Encrypting a backup or export*; `docs/security.md` §
  … (14 more in CHANGELOG)
Removed:
  - docs: `security.md` — accepted risk «restore old backup revives session rows»
Changed:
  - docs: `implementation-plan.md` trimmed to the sole open v1.x gate — pre-release
  - docs: `architecture.md` — sessions (SQLite, idle renew, password change),
  - docs: `development.md` — expanded e2e stack and `release.yml` matrix workflow.
  - docs: `security.md` — accepted risk for send-log rows stuck at `queued` after
  - docs: `roadmap.md` — optional send-log / `mail.log` follow-ups under v1.x tail.
  … (10 more in CHANGELOG)

Full detail: CHANGELOG.md (0.5.0).
2026-09-22 15:24:51 +03:00

11 lines
13 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 330 150" width="330" height="150" role="img" aria-label="SelfPost — self-hosted SMTP relay">
<!-- SelfPost · https://github.com/mixeme/selfpost · AGPL-3.0
Wordmark set in IBM Plex Sans (OFL) and converted to outlines: the
file needs no font installed to render as drawn. -->
<path d="M24.70 14.00 L27.97 14.00 A2.7 2.7 0 0 0 33.37 14.00 L36.63 14.00 A2.7 2.7 0 0 0 42.03 14.00 L45.30 14.00 A2.7 2.7 0 0 0 50.70 14.00 L53.97 14.00 A2.7 2.7 0 0 0 59.37 14.00 L62.63 14.00 A2.7 2.7 0 0 0 68.03 14.00 L71.30 14.00 A2.7 2.7 0 0 0 76.70 14.00 L79.97 14.00 A2.7 2.7 0 0 0 85.37 14.00 L88.63 14.00 A2.7 2.7 0 0 0 94.03 14.00 L97.30 14.00 A2.7 2.7 0 0 0 102.70 14.00 L105.97 14.00 A2.7 2.7 0 0 0 111.37 14.00 L114.63 14.00 A2.7 2.7 0 0 0 120.03 14.00 L123.30 14.00 A2.7 2.7 0 0 0 128.70 14.00 L131.97 14.00 A2.7 2.7 0 0 0 137.37 14.00 L140.63 14.00 A2.7 2.7 0 0 0 146.03 14.00 L149.30 14.00 A2.7 2.7 0 0 0 154.70 14.00 L157.97 14.00 A2.7 2.7 0 0 0 163.37 14.00 L166.63 14.00 A2.7 2.7 0 0 0 172.03 14.00 L175.30 14.00 A2.7 2.7 0 0 0 180.70 14.00 L183.97 14.00 A2.7 2.7 0 0 0 189.37 14.00 L192.63 14.00 A2.7 2.7 0 0 0 198.03 14.00 L201.30 14.00 A2.7 2.7 0 0 0 206.70 14.00 L209.97 14.00 A2.7 2.7 0 0 0 215.37 14.00 L218.63 14.00 A2.7 2.7 0 0 0 224.03 14.00 L227.30 14.00 A2.7 2.7 0 0 0 232.70 14.00 L235.97 14.00 A2.7 2.7 0 0 0 241.37 14.00 L244.63 14.00 A2.7 2.7 0 0 0 250.03 14.00 L253.30 14.00 A2.7 2.7 0 0 0 258.70 14.00 L261.97 14.00 A2.7 2.7 0 0 0 267.37 14.00 L270.63 14.00 A2.7 2.7 0 0 0 276.03 14.00 L279.30 14.00 A2.7 2.7 0 0 0 284.70 14.00 L287.97 14.00 A2.7 2.7 0 0 0 293.37 14.00 L296.63 14.00 A2.7 2.7 0 0 0 302.03 14.00 L305.30 14.00 A2.7 2.7 0 0 0 308.00 16.70 L308.00 20.01 A2.7 2.7 0 0 0 308.00 25.41 L308.00 28.73 A2.7 2.7 0 0 0 308.00 34.13 L308.00 37.44 A2.7 2.7 0 0 0 308.00 42.84 L308.00 46.16 A2.7 2.7 0 0 0 308.00 51.56 L308.00 54.87 A2.7 2.7 0 0 0 308.00 60.27 L308.00 63.59 A2.7 2.7 0 0 0 308.00 68.99 L308.00 72.30 A2.7 2.7 0 0 0 308.00 77.70 L308.00 81.01 A2.7 2.7 0 0 0 308.00 86.41 L308.00 89.73 A2.7 2.7 0 0 0 308.00 95.13 L308.00 98.44 A2.7 2.7 0 0 0 308.00 103.84 L308.00 107.16 A2.7 2.7 0 0 0 308.00 112.56 L308.00 115.87 A2.7 2.7 0 0 0 308.00 121.27 L308.00 124.59 A2.7 2.7 0 0 0 308.00 129.99 L308.00 133.30 A2.7 2.7 0 0 0 305.30 136.00 L302.03 136.00 A2.7 2.7 0 0 0 296.63 136.00 L293.37 136.00 A2.7 2.7 0 0 0 287.97 136.00 L284.70 136.00 A2.7 2.7 0 0 0 279.30 136.00 L276.03 136.00 A2.7 2.7 0 0 0 270.63 136.00 L267.37 136.00 A2.7 2.7 0 0 0 261.97 136.00 L258.70 136.00 A2.7 2.7 0 0 0 253.30 136.00 L250.03 136.00 A2.7 2.7 0 0 0 244.63 136.00 L241.37 136.00 A2.7 2.7 0 0 0 235.97 136.00 L232.70 136.00 A2.7 2.7 0 0 0 227.30 136.00 L224.03 136.00 A2.7 2.7 0 0 0 218.63 136.00 L215.37 136.00 A2.7 2.7 0 0 0 209.97 136.00 L206.70 136.00 A2.7 2.7 0 0 0 201.30 136.00 L198.03 136.00 A2.7 2.7 0 0 0 192.63 136.00 L189.37 136.00 A2.7 2.7 0 0 0 183.97 136.00 L180.70 136.00 A2.7 2.7 0 0 0 175.30 136.00 L172.03 136.00 A2.7 2.7 0 0 0 166.63 136.00 L163.37 136.00 A2.7 2.7 0 0 0 157.97 136.00 L154.70 136.00 A2.7 2.7 0 0 0 149.30 136.00 L146.03 136.00 A2.7 2.7 0 0 0 140.63 136.00 L137.37 136.00 A2.7 2.7 0 0 0 131.97 136.00 L128.70 136.00 A2.7 2.7 0 0 0 123.30 136.00 L120.03 136.00 A2.7 2.7 0 0 0 114.63 136.00 L111.37 136.00 A2.7 2.7 0 0 0 105.97 136.00 L102.70 136.00 A2.7 2.7 0 0 0 97.30 136.00 L94.03 136.00 A2.7 2.7 0 0 0 88.63 136.00 L85.37 136.00 A2.7 2.7 0 0 0 79.97 136.00 L76.70 136.00 A2.7 2.7 0 0 0 71.30 136.00 L68.03 136.00 A2.7 2.7 0 0 0 62.63 136.00 L59.37 136.00 A2.7 2.7 0 0 0 53.97 136.00 L50.70 136.00 A2.7 2.7 0 0 0 45.30 136.00 L42.03 136.00 A2.7 2.7 0 0 0 36.63 136.00 L33.37 136.00 A2.7 2.7 0 0 0 27.97 136.00 L24.70 136.00 A2.7 2.7 0 0 0 22.00 133.30 L22.00 129.99 A2.7 2.7 0 0 0 22.00 124.59 L22.00 121.27 A2.7 2.7 0 0 0 22.00 115.87 L22.00 112.56 A2.7 2.7 0 0 0 22.00 107.16 L22.00 103.84 A2.7 2.7 0 0 0 22.00 98.44 L22.00 95.13 A2.7 2.7 0 0 0 22.00 89.73 L22.00 86.41 A2.7 2.7 0 0 0 22.00 81.01 L22.00 77.70 A2.7 2.7 0 0 0 22.00 72.30 L22.00 68.99 A2.7 2.7 0 0 0 22.00 63.59 L22.00 60.27 A2.7 2.7 0 0 0 22.00 54.87 L22.00 51.56 A2.7 2.7 0 0 0 22.00 46.16 L22.00 42.84 A2.7 2.7 0 0 0 22.00 37.44 L22.00 34.13 A2.7 2.7 0 0 0 22.00 28.73 L22.00 25.41 A2.7 2.7 0 0 0 22.00 20.01 L22.00 16.70 A2.7 2.7 0 0 0 24.70 14.00 Z" fill="#F3EDE1" stroke="#12161C" stroke-width="0.8" stroke-linejoin="round" />
<rect x="31" y="23" width="268" height="104" fill="#7A3B2E" />
<path d="M110.54 82.46Q107.27 82.46 105.14 81.22Q103.02 79.99 101.53 78.05L102.6 77.21Q104 79.04 105.85 80.12Q107.69 81.2 110.58 81.2Q113.88 81.2 115.69 79.64Q117.49 78.09 117.49 75.16Q117.49 73.15 116.73 71.99Q115.97 70.83 114.64 70.22Q113.31 69.61 111.68 69.27L109.13 68.78Q106.51 68.28 105.01 67.28Q103.51 66.27 102.85 64.88Q102.18 63.49 102.18 61.86Q102.18 59.54 103.21 58.02Q104.23 56.5 106.09 55.76Q107.96 55.02 110.43 55.02Q113.39 55.02 115.37 56.05Q117.34 57.07 118.48 58.78L117.42 59.58Q116.28 57.95 114.57 57.11Q112.86 56.27 110.35 56.27Q107.2 56.27 105.39 57.64Q103.59 59.01 103.59 61.82Q103.59 63.68 104.37 64.81Q105.14 65.93 106.47 66.53Q107.8 67.14 109.44 67.48L111.98 67.98Q114.68 68.47 116.18 69.52Q117.68 70.56 118.27 71.99Q118.86 73.41 118.86 75.05Q118.86 77.48 117.86 79.11Q116.85 80.75 114.97 81.6Q113.09 82.46 110.54 82.46Z M130.04 82.46Q127.49 82.46 125.65 81.28Q123.81 80.1 122.8 77.86Q121.79 75.62 121.79 72.35Q121.79 69.08 122.78 66.82Q123.77 64.56 125.58 63.4Q127.38 62.24 129.93 62.24Q132.28 62.24 134.07 63.42Q135.85 64.6 136.86 66.74Q137.87 68.89 137.87 71.82V72.42H123.2V73.45Q123.2 76.98 125.01 79.13Q126.81 81.28 130.08 81.28Q132.36 81.28 133.97 80.16Q135.59 79.04 136.42 76.87L137.45 77.44Q136.61 79.72 134.71 81.09Q132.81 82.46 130.04 82.46ZM129.93 63.38Q127.8 63.38 126.3 64.35Q124.8 65.32 124 67.09Q123.2 68.85 123.2 71.21V71.36H136.42V71.13Q136.42 68.78 135.61 67.05Q134.79 65.32 133.33 64.35Q131.86 63.38 129.93 63.38Z M146.92 82H144.07Q143.23 82 142.83 81.58Q142.44 81.16 142.44 80.4V53.88H143.76V80.82H146.92Z M151.56 82V63.87H148.1V62.7H151.56V55.82Q151.56 54.91 152.02 54.39Q152.47 53.88 153.42 53.88H157.22V55.06H152.89V62.7H157.22V63.87H152.89V82Z M164.87 82H159.85V55.48H171.78Q174.25 55.48 176 56.5Q177.75 57.53 178.7 59.37Q179.65 61.21 179.65 63.68Q179.65 66.15 178.7 68Q177.75 69.84 176 70.87Q174.25 71.89 171.78 71.89H164.87ZM164.87 59.85V67.56H171.33Q172.31 67.56 173 67.2Q173.68 66.84 174.06 66.17Q174.44 65.51 174.44 64.56V62.81Q174.44 61.82 174.06 61.18Q173.68 60.53 173 60.19Q172.31 59.85 171.33 59.85Z M190.37 82.46Q187.56 82.46 185.49 81.18Q183.42 79.91 182.3 77.57Q181.17 75.24 181.17 72.04Q181.17 68.85 182.3 66.55Q183.42 64.25 185.49 62.98Q187.56 61.71 190.37 61.71Q193.22 61.71 195.29 62.98Q197.36 64.25 198.48 66.55Q199.6 68.85 199.6 72.04Q199.6 75.24 198.48 77.57Q197.36 79.91 195.29 81.18Q193.22 82.46 190.37 82.46ZM190.37 78.54Q192.31 78.54 193.41 77.34Q194.51 76.15 194.51 73.91V70.22Q194.51 67.98 193.41 66.8Q192.31 65.62 190.37 65.62Q188.51 65.62 187.39 66.8Q186.27 67.98 186.27 70.22V73.91Q186.27 76.15 187.39 77.34Q188.51 78.54 190.37 78.54Z M209 82.46Q206.15 82.46 204.21 81.49Q202.27 80.52 200.79 78.81L203.75 75.92Q204.85 77.17 206.17 77.9Q207.48 78.62 209.19 78.62Q210.93 78.62 211.71 78.01Q212.49 77.4 212.49 76.34Q212.49 75.46 211.94 74.95Q211.39 74.44 210.06 74.25L208.08 73.98Q205.96 73.72 204.47 72.99Q202.99 72.27 202.23 71.02Q201.47 69.76 201.47 67.98Q201.47 65.09 203.54 63.4Q205.61 61.71 209 61.71Q210.93 61.71 212.32 62.07Q213.71 62.43 214.77 63.13Q215.84 63.84 216.75 64.82L213.9 67.67Q213.02 66.76 211.81 66.15Q210.59 65.55 209.15 65.55Q207.63 65.55 206.89 66.1Q206.15 66.65 206.15 67.6Q206.15 68.59 206.74 69.1Q207.32 69.61 208.73 69.84L210.74 70.11Q214.01 70.56 215.59 72.03Q217.17 73.49 217.17 75.96Q217.17 77.86 216.16 79.34Q215.15 80.82 213.31 81.64Q211.47 82.46 209 82.46Z M229.75 82H226.25Q223.75 82 222.44 80.69Q221.12 79.38 221.12 76.95V66H218.2V62.16H219.72Q220.82 62.16 221.22 61.65Q221.62 61.14 221.62 60.11V56.73H225.99V62.16H230.06V66H225.99V78.12H229.75Z" fill="#F6EDE2" />
<path d="M137.0 98 H193.0" stroke="#F6EDE2" stroke-width="1" opacity=".5" />
<path d="M88.83 115.09Q88.15 115.09 87.72 114.84Q87.28 114.59 87 114.2L87.44 113.84Q87.74 114.21 88.07 114.39Q88.39 114.57 88.85 114.57Q89.39 114.57 89.68 114.32Q89.97 114.06 89.97 113.61Q89.97 113.24 89.76 113.04Q89.55 112.83 89.03 112.75L88.47 112.65Q88.11 112.59 87.86 112.46Q87.61 112.33 87.46 112.15Q87.31 111.96 87.24 111.74Q87.18 111.52 87.18 111.28Q87.18 110.59 87.63 110.24Q88.08 109.89 88.85 109.89Q89.46 109.89 89.87 110.09Q90.29 110.29 90.54 110.66L90.11 111.03Q89.91 110.75 89.61 110.58Q89.32 110.41 88.85 110.41Q88.34 110.41 88.06 110.62Q87.79 110.84 87.79 111.27Q87.79 111.61 87.99 111.82Q88.2 112.03 88.73 112.13L89.27 112.22Q89.64 112.29 89.89 112.42Q90.14 112.54 90.3 112.72Q90.45 112.9 90.52 113.13Q90.58 113.35 90.58 113.6Q90.58 114.29 90.13 114.69Q89.67 115.09 88.83 115.09Z M94.45 115V109.97H97.54V110.5H95.05V112.19H97.46V112.72H95.05V114.47H97.54V115Z M101.78 115V109.97H102.39V114.47H104.77V115Z M108.69 115V109.97H111.86V110.5H109.29V112.19H111.64V112.72H109.29V115Z M116.28 113.11V112.51H118.36V113.11Z M125.42 112.72H123.46V115H122.86V109.97H123.46V112.19H125.42V109.97H126.02V115H125.42Z M131.56 115.09Q131.1 115.09 130.77 114.91Q130.44 114.73 130.22 114.4Q130 114.07 129.9 113.59Q129.8 113.11 129.8 112.49Q129.8 111.88 129.9 111.39Q130 110.9 130.22 110.57Q130.44 110.24 130.77 110.06Q131.1 109.89 131.56 109.89Q132.02 109.89 132.35 110.06Q132.68 110.24 132.9 110.57Q133.12 110.9 133.22 111.39Q133.32 111.88 133.32 112.49Q133.32 113.11 133.22 113.59Q133.12 114.07 132.9 114.4Q132.68 114.73 132.35 114.91Q132.02 115.09 131.56 115.09ZM131.56 114.56Q131.86 114.56 132.07 114.44Q132.28 114.32 132.42 114.11Q132.55 113.89 132.61 113.59Q132.68 113.28 132.68 112.9V112.08Q132.68 111.7 132.61 111.39Q132.55 111.08 132.42 110.87Q132.28 110.65 132.07 110.53Q131.86 110.41 131.56 110.41Q131.26 110.41 131.05 110.53Q130.84 110.65 130.7 110.87Q130.57 111.08 130.51 111.39Q130.44 111.7 130.44 112.08V112.9Q130.44 113.28 130.51 113.59Q130.57 113.89 130.7 114.11Q130.84 114.32 131.05 114.44Q131.26 114.56 131.56 114.56Z M138.67 115.09Q137.99 115.09 137.56 114.84Q137.12 114.59 136.84 114.2L137.28 113.84Q137.58 114.21 137.91 114.39Q138.23 114.57 138.69 114.57Q139.23 114.57 139.52 114.32Q139.81 114.06 139.81 113.61Q139.81 113.24 139.6 113.04Q139.39 112.83 138.87 112.75L138.31 112.65Q137.95 112.59 137.7 112.46Q137.45 112.33 137.3 112.15Q137.15 111.96 137.08 111.74Q137.02 111.52 137.02 111.28Q137.02 110.59 137.47 110.24Q137.92 109.89 138.69 109.89Q139.3 109.89 139.71 110.09Q140.13 110.29 140.38 110.66L139.95 111.03Q139.75 110.75 139.45 110.58Q139.16 110.41 138.69 110.41Q138.18 110.41 137.9 110.62Q137.63 110.84 137.63 111.27Q137.63 111.61 137.83 111.82Q138.04 112.03 138.57 112.13L139.11 112.22Q139.48 112.29 139.73 112.42Q139.98 112.54 140.14 112.72Q140.29 112.9 140.36 113.13Q140.42 113.35 140.42 113.6Q140.42 114.29 139.97 114.69Q139.51 115.09 138.67 115.09Z M146.1 110.5V115H145.5V110.5H143.82V109.97H147.78V110.5Z M151.41 115V109.97H154.5V110.5H152.01V112.19H154.42V112.72H152.01V114.47H154.5V115Z M158.56 109.97H159.97Q160.89 109.97 161.34 110.61Q161.8 111.24 161.8 112.49Q161.8 113.73 161.34 114.37Q160.89 115 159.97 115H158.56ZM159.94 114.47Q160.54 114.47 160.85 114.06Q161.16 113.64 161.16 112.88V112.1Q161.16 111.34 160.85 110.92Q160.54 110.5 159.94 110.5H159.17V114.47Z M174.27 115.09Q173.59 115.09 173.16 114.84Q172.72 114.59 172.44 114.2L172.88 113.84Q173.18 114.21 173.51 114.39Q173.83 114.57 174.29 114.57Q174.83 114.57 175.12 114.32Q175.41 114.06 175.41 113.61Q175.41 113.24 175.2 113.04Q174.99 112.83 174.47 112.75L173.91 112.65Q173.55 112.59 173.3 112.46Q173.05 112.33 172.9 112.15Q172.75 111.96 172.68 111.74Q172.62 111.52 172.62 111.28Q172.62 110.59 173.07 110.24Q173.52 109.89 174.29 109.89Q174.9 109.89 175.31 110.09Q175.73 110.29 175.98 110.66L175.55 111.03Q175.35 110.75 175.05 110.58Q174.76 110.41 174.29 110.41Q173.78 110.41 173.5 110.62Q173.23 110.84 173.23 111.27Q173.23 111.61 173.43 111.82Q173.64 112.03 174.17 112.13L174.71 112.22Q175.08 112.29 175.33 112.42Q175.58 112.54 175.74 112.72Q175.89 112.9 175.96 113.13Q176.02 113.35 176.02 113.6Q176.02 114.29 175.57 114.69Q175.11 115.09 174.27 115.09Z M182.52 112.48V110.89H182.46L181.4 113.47L180.34 110.89H180.28V112.48V115H179.73V109.97H180.51L181.39 112.19H181.44L182.32 109.97H183.07V115H182.52Z M188.82 110.5V115H188.22V110.5H186.54V109.97H190.5V110.5Z M194.13 115V109.97H195.96Q196.66 109.97 197.02 110.36Q197.39 110.74 197.39 111.42Q197.39 112.11 197.02 112.49Q196.66 112.87 195.96 112.87H194.73V115ZM194.73 112.34H195.94Q196.32 112.34 196.54 112.15Q196.75 111.96 196.75 111.61V111.23Q196.75 110.88 196.54 110.69Q196.32 110.5 195.94 110.5H194.73Z M208.97 115H208.37V109.97H210.2Q210.9 109.97 211.26 110.36Q211.63 110.74 211.63 111.42Q211.63 112.03 211.31 112.4Q211 112.77 210.39 112.83L211.67 115H211L209.77 112.85H208.97ZM210.18 112.34Q210.56 112.34 210.78 112.15Q210.99 111.96 210.99 111.61V111.23Q210.99 110.88 210.78 110.69Q210.56 110.5 210.18 110.5H208.97V112.34Z M215.49 115V109.97H218.58V110.5H216.09V112.19H218.5V112.72H216.09V114.47H218.58V115Z M222.82 115V109.97H223.43V114.47H225.81V115Z M232.54 115 232.12 113.57H230.35L229.93 115H229.3L230.84 109.97H231.64L233.18 115ZM231.27 110.62H231.2L230.5 113.04H231.97Z M238.06 115V113.03L236.32 109.97H237.01L237.73 111.28L238.35 112.43H238.37L239 111.28L239.72 109.97H240.4L238.66 113.03V115Z" fill="#F6EDE2" opacity=".78" />
</svg>