# NODE.DC Notification Core Platform-owned notification service for NODE.DC. It owns: - `notification_events`: immutable facts from Hub, Engine, Operational Core and future services. - `notification_deliveries`: per-recipient, per-surface delivery/read state. It does not use Authentik DB. Authentik remains the identity/session provider next to this service, not the notification data owner. ## API Internal producer: ```text POST /internal/notifications/events ``` Consumer surface API: ```text GET /api/notifications?surface=hub|engine POST /api/notifications/:deliveryId/read POST /api/notifications/read-all GET /api/notifications/stream ``` All endpoints require the shared internal token. App BFFs pass the resolved platform subject through: ```text X-NODEDC-User-Id X-NODEDC-User-Email ``` The recipient rule is platform-subject based: deliveries are created only for known NODE.DC subjects. An unknown email should be held as a pending intent/invite by the source workflow, not inserted as a delivery.