Event-Driven Notification Platform · View 07 of 26 · 2 · Structure
Template and Content Lifecycle
How a message goes from draft to published, and how a bad one is taken back.
Copy
PNG
PDF
⋯
Editable source
SVG
draw.io
All views
Author
Author
Tenant Administrator
Tenant Administrator
Draft version
semver · never sent
Draft version...
Variable contract
declared and typed
Variable contract...
Validate
Validate
Syntax and variables
no undeclared token
Syntax and variables...
Output sanitisation
no raw HTML injection
Output sanitisation...
Channel constraints
SMS length · push 4 KB
Channel constraints...
Preview
Preview
Render preview
synthetic data
Render preview...
Test send
allow-listed recipients
Test send...
Locale matrix
fallback to en-GB
Locale matrix...
Approve
Approve
Second approver
required for marketing
Second approver...
Consent copy check
unsubscribe present
Consent copy check...
Publish
Publish
Published version
immutable · addressable
Published version...
Template Store
all versions kept
Template Store...
Render cache warm
60 s propagation
Render cache warm...
Operate
Operate
Notification binds version
pinned at decision time
Notification binds version...
Rollback
repoint alias · no redeploy
Rollback...
Audit record
who · what · when
Audit record...
rejected
rejected
changes requested
changes requested
previous version
previous version
Template and Content Lifecycle
Template and Content Lifecycle
Person or role
Person or role
Application we own
Application we own
Decision point
Decision point
Data store
Data store
Security / platform
Security / platform
failure / alternate
failure / alternate
event / async
event / async
A notification records the exact template version it rendered, so a rollback never rewrites what was already sent and a support query can reproduce the original message.
A notification records the exact template version it rendered, so a rollback never rewrites what was already sent and a support query can reproduce the original message.
v 1.0 · owner Data & AI Global Practice · date 2026-08
v 1.0 · owner Data & AI Global Practice · date 2026-08
Text is not SVG - cannot display
Decisions
A notification pins the exact template version it rendered, so history is reproducible and a rollback is not a rewrite
Rollback repoints a published alias; it never edits or deletes a version
Templates deploy through the same reviewed pipeline as code — see view 19
Validation before anyone can publish
Every variable used must be declared; an undeclared token fails the build, not the send
Channel constraints enforced at authoring time: SMS segment count, push payload under 4 KB
Marketing templates require a second approver and a present unsubscribe link
Assumptions
Handlebars plus MJML for email; no arbitrary code in a template, which is what makes tenant-authored content safe to run
Locale fallback is a single hop to en-GB, not a chain
◀ Channel Abstraction
All views
Multi-Tenancy and Noisy-Neighbour Control ▶