#Notifications
When a decision needs a human, Ratifia tells the right people it's waiting. The guiding principle is pointer, not payload: by default a notification carries no case content (no prompt, no context, no drafts, no PII), only enough to say "you have an approval, here's how urgent, come act on it." The case itself lives behind sign-in in Ratifia.
Notifying is not deciding. A notification is just getting someone's attention; the binding verdict happens on a surface. Even with no notification configured, the decision still waits safely in the Inbox.
#Pointer, not payload
By default, every notification (email, Slack, Discord, push) renders from a single content-free summary. It contains only:
- the workflow / step the decision belongs to,
- the engine and the surface,
- a humanized SLA ("expires in 22m", "overdue", "no expiry"), and
- a deep link back into Ratifia, where the reviewer signs in to see the full detail.
Nothing that could hold PHI or PII crosses the trust boundary. This is the compliance-safe default (HIPAA / SOC2 posture): the notification is a doorbell, and the case only opens once the reviewer is authenticated in Ratifia.
#How much a notification carries
The amount of detail is a per-org setting, not a per-caller choice:
- Reference (default). The content-free pointer described above.
- Rich (opt-in). The decision's context is embedded directly in the notification, for teams that accept content leaving the boundary in exchange for at-a-glance review.
The default is reference mode, and any failure to resolve the setting degrades back to reference, so Ratifia never falls open to leaking content on an error.
Content mode is org-wide
Because the setting is per org, the calling code doesn't decide how much a notification reveals. A security posture is set once, centrally, rather than trusted to every worker that requests a decision.
#How a person is reached
When a decision is raised, everyone in its approver group is told at once:
- Email. One email per approver, delivered through the outbox, so a send is retried rather than lost. On the email surface it carries one-click Approve / Reject links.
- Slack or Discord. When the policy's surface is Slack or Discord, the decision is posted to the org's channel and approvers with a verified Slack or Discord identity are @-mentioned.
- Push. Anyone who has registered the mobile app gets an inbox notification. Registering a device is the opt-in; a person can revoke their devices.
There is no per-person escalation ladder: nobody is paged again on a timer. The one follow-up is the SLA reminder, sent once as the deadline nears. A deactivated member is not notified at all.