From 7ef2cdc27366fe29a2c9f9f3a487e8efbe9f525e Mon Sep 17 00:00:00 2001 From: John Coffey Date: Fri, 18 Sep 2026 16:10:50 -0700 Subject: [PATCH] Masked email: the fork's subspace is _, not X, which SQL backends fold into upstream's x --- docs/spec/features/masked-email.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/spec/features/masked-email.md b/docs/spec/features/masked-email.md index aad51a8..4f51aef 100644 --- a/docs/spec/features/masked-email.md +++ b/docs/spec/features/masked-email.md @@ -77,7 +77,10 @@ stays byte-for-byte what upstream wrote: address is never issued twice. **Decision** (2026-09-18) on where: one new data-store subspace owned by the -fork (`X`), with its own SQL table, included in backup and restore. It also +fork (`_`), with its own SQL table, included in backup and restore. Not a +letter: SQL backends name each subspace's table after its byte, unquoted, so +Postgres and SQLite would fold `X` into upstream's `x`, and upstream already +uses every lowercase letter. It also holds an index from address to mask, since upstream's record doesn't index `email`, and a per-account change log for `/changes`. Masks written before the fork are indexed on first start.