Masked email: the fork's subspace and the masked_email module (ME-1, ME-2, ME-3, ME-6a, ME-7, ME-8, ME-13, ME-14, ME-15)

Subspace _ holds the fork's own data, with its own SQL table and RocksDB
column family, and is part of backup. The masked_email module keeps each
mask's state, last mail and pending deadline beside upstream's record, an
index from address to mask with tombstones, and a per-account change log;
and generates addresses in the fork's format.
This commit is contained in:
jcoffey-dev committed 2026-09-18 16:17:47 -07:00
1 parent 7ef2cdc273
commit aaca8fe537
14 files changed
+1001

No files matched your search

+22
View File
@@ -0,0 +1,22 @@
/*
* SPDX-FileCopyrightText: 2026 Coffey Labs
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
//! Masked email, built from `docs/spec/features/masked-email.md`.
//!
//! A masked address is a disposable address that delivers to one account.
//! Upstream's `x:MaskedEmail` record stays exactly as upstream writes it. What
//! the fork adds (the one state both APIs share, when mail last arrived, the
//! address index delivery uses, tombstones and the change log) lives beside
//! it in the fork's own subspace (`data`). Requirements are named `ME-n`,
//! after the spec.
pub mod address;
pub mod data;
pub mod ops;
pub mod policy;
pub mod state;
pub use state::State;