Skip to content

Integrate core notification data model into lws10-core#185

Open
laurensdeb wants to merge 2 commits into
mainfrom
integrate-notifications-core
Open

Integrate core notification data model into lws10-core#185
laurensdeb wants to merge 2 commits into
mainfrom
integrate-notifications-core

Conversation

@laurensdeb

@laurensdeb laurensdeb commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR refactors the notification specification to follow the same pattern used for authentication:

  • Core data model lives in lws10-core/Notifications.html (analogous to Authentication.html)
  • Channel-specific suite remains in lws10-notifications/ as the Webhook notification suite (analogous to lws10-authn-openid/)

What moved to lws10-core

  • Discovery (NotificationService in storage description)
  • Notification envelope data model (type, storage, activity)
  • Activity properties (id, type, object, published, actor, target, origin)
  • Activity types (Create, Update, Delete)
  • Batching
  • Subscription model (request, scope, authorization, response, type identifiers)
  • General security considerations (Information Disclosure, Subscription Abuse)
  • General privacy considerations (Activity Tracking, Actor Disclosure, Timing Analysis)
  • Terminology definitions (notification, subscription, subscriber, notification suite)

What stays in lws10-notifications (Webhook suite)

  • Webhook subscription creation (inbox, expires fields)
  • Webhook authentication (HTTP Message Signatures, verification methods)
  • Signature requirements and verification steps
  • Subscription management (GET/DELETE operations)
  • Notification delivery (POST to inbox, retry, expiration)
  • Webhook-specific security considerations (Webhook Verification, Signature Replay)
  • Webhook-specific privacy considerations (Inbox Disclosure)
  • Subscription type identifier (WebhookSubscription)

Design rationale

This mirrors how authentication is structured:

  • lws10-core/Authentication.html defines the credential data model, validation requirements, and type identifiers
  • lws10-authn-openid/, lws10-authn-saml/, etc. define channel-specific serialization and validation

Similarly:

  • lws10-core/Notifications.html defines the notification data model, subscription model, and discovery
  • lws10-notifications/ (Webhooks) defines channel-specific delivery, authentication, and management

This enables future notification suites (e.g., SSE, WebSocket) to be added as separate specs that reference the core data model.


Preview | Diff

Move the general notification concepts (discovery, envelope data model,
activity types, subscription model) from lws10-notifications into
lws10-core/Notifications.html, following the same pattern used for
authentication (core data model in lws10-core, channel-specific suites
in separate specs).

lws10-notifications is restructured to contain only the Webhook
notification suite, analogous to lws10-authn-openid for authentication.

Changes:
- Add lws10-core/Notifications.html with core notification data model
- Add notification terms to lws10-core terminology section
- Add Notifications section to lws10-core/index.html
- Add notification security/privacy considerations to core
- Rewrite lws10-notifications as Webhook notification suite referencing
  core definitions via LWS10-CORE

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@elf-pavlik elf-pavlik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm assuming that content didn't chage and it only was reorganized.

Aligns with the authn naming convention (lws10-authn-openid,
lws10-authn-saml, etc.) now that the core notification data model
lives in lws10-core.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants