Customers
Customer engagements follow the Umbrella + Triplet model. Umbrella groups persist for the duration of the customer relationship. Project triplets are created and destroyed per engagement.
Lifecycle
Section titled “Lifecycle”New Customer
Section titled “New Customer”- Create umbrella groups (
prosrv,sales,mktg,cpoc,announce, optionallyall,archive). - Provision COLLAB / TEAM / STRICT drives with correct naming, labels, and colors.
- Add thin-root files +
00_inbox/at each drive root. - Optionally grant COLLAB landing Viewer to
...-cpoc.
New Project
Section titled “New Project”- Create triplet (
...-{prjslug}-dri,...-{prjslug}-delivery,...-{prjslug}-client). - Create
NN_{cusslug}_{prjslug}/folder in each drive. - Apply Limited Access ACLs (groups only; individuals for M365 ROSTER mode).
- Seed phase folders +
00_inbox/. Set labels. UpdateINDEX.md.
Close Project
Section titled “Close Project”- Freeze project folders (read-only).
- Remove triplet from ACLs. Grant
...-archiveif needed. - For STRICT: verify hashes and custody logs.
- Publish archive links under
07_closeout/05_links_to_archives/. - Delete triplet groups.
Retire Customer
Section titled “Retire Customer”- Convert drives to
_ARCH_{YYYY}(read-only retention). - Remove externals from
...-cpoc/...-all. Disable umbrella groups. - Delete umbrellas after retention window.
ACL Rules
Section titled “ACL Rules”- Groups-only ACLs everywhere (no individuals except M365 ROSTER mode).
- Never add
...-announceor...-allto any ACL. - Umbrellas may receive COLLAB landing Viewer for navigation only.
- Project folders use Limited Access: only manager roles and the project triplet.
STRICT Chain-of-Custody
Section titled “STRICT Chain-of-Custody”For STRICT drives, every file follows an intake-to-evidence workflow:
- Intake: Compute SHA-256 hash. Write sidecar
.sha256file. - Manifest: Append to
10_hashes/manifest_YYYYMMDD.txt. - Log: Append to
11_chain_of_custody/INTAKE_LOG.md(append-only). - Quarantine: Scan. Log result. Verify hash.
- Evidence: Move to evidence folder with verified hash.
ROSTER Mode (M365 Customers)
Section titled “ROSTER Mode (M365 Customers)”M365 externals must be added as individuals (not groups). Treat ...-prj-...-client and ...-cus-...-cpoc as ROSTER sources. A sync bot reconciles individual access weekly.
desired = members(prj-...-client) + members(cus-...-cpoc)actual = external users on project folderdrift = desired - actual (add) + actual - desired (remove)target = drift = 0Patterns & Anti-Patterns
Section titled “Patterns & Anti-Patterns”Do:
- Use the three-drive model (COLLAB/TEAM/STRICT)
- Keep customer slugs short and immutable
- Use phase-ordered folder structures
- Hash everything in STRICT
Don’t:
- Put working content at drive root (use thin root)
- Grant customer users access to TEAM or STRICT
- Add umbrella announcement groups to ACLs
- Change customer slugs after registration