Open Membership RSS

Featureset and Conformance Levels

The full per-version feature list and the eight cumulative conformance levels, with implementer-effort estimates. Most publishers and reader apps will implement Level 1, 2, or 5.

Open Membership RSS, Featureset Reference

The authoritative feature inventory across all spec versions. This is the reference every implementer and reviewer starts from.

Feature taxonomy

Features organize into seven categories. Every element in the spec fits exactly one.

  1. Foundational, namespace, identity, authentication
  2. Access control, tiers, features, per-item policy
  3. Temporal, time-windowed access, proration
  4. Group, families, companies, institutions
  5. Commercial, payments, value-for-value, offers
  6. Identity & privacy, credentials, pseudonymity, selective disclosure
  7. Lifecycle & governance, discovery, revocation, bundles, gifts

Complete feature matrix

FeatureCategoryIntroducedConformance levelElement(s)
Namespace declarationFoundational0.11xmlns:om
Provider identificationFoundational0.11<om:provider>
URL token authFoundational0.12<om:authMethod>url-token</om:authMethod>
HTTP Basic authFoundational0.12<om:authMethod>http-basic</om:authMethod>
OAuth Bearer authFoundational0.13<om:authMethod>bearer</om:authMethod>
DPoP token bindingFoundational0.13<om:authMethod>dpop</om:authMethod>
VC presentation authFoundational0.24<om:authMethod>vc-presentation</om:authMethod>
Tier declarationsAccess control0.11<om:tier>
Per-item access policyAccess control0.11<om:access>
Preview contentAccess control0.11<om:preview>
Unlock endpointAccess control0.12<om:unlock>
Receipt proofAccess control0.15<om:receipt>
Feature-level entitlementsAccess control0.35<om:feature>
Feature-to-tier mappingAccess control0.35<om:includes>
Time-gated accessTemporal0.23<om:window>
Proration policyTemporal0.45<om:proration>
Publisher-managed groupsGroup0.22<om:group admin="publisher-managed">
Self-managed groups (SCIM)Group0.23<om:group admin="self-managed">
Group-scoped accessGroup0.22<om:access scope="group">
PSP declarationsCommercial0.35<om:psp>
Offer declarationsCommercial0.35<om:offer>
Price specificationsCommercial0.35<om:price>
Checkout endpointsCommercial0.35<om:checkout>
Trial periodsCommercial0.35<om:trial>
Value-for-valueCommercial0.36<om:value>
Value recipientsCommercial0.36<om:recipient>
Time-split valuesCommercial0.36<om:split>
OM-VC 1.0 profileIdentity & privacy0.24(credential format)
OM-VC-SD 1.0 profileIdentity & privacy0.47(credential format)
Pseudonymous modeIdentity & privacy0.47<om:privacy>
Per-publisher pseudonymsIdentity & privacy0.47(BBS+ feature)
Canonical discoveryLifecycle & governance0.21.well-known/open-membership
Discovery linkageLifecycle & governance0.21<om:discovery>
Token endpointLifecycle & governance0.23<om:tokenEndpoint>
Revocation policyLifecycle & governance0.45<om:revocation>
Bundle aggregationLifecycle & governance0.48<om:bundle>
Bundle participationLifecycle & governance0.48<om:bundled-from>
Bundle trust declarationLifecycle & governance0.48<om:trust>
Gift subscriptionsLifecycle & governance0.45<om:gift>
Licensing (CC-compatible)Lifecycle & governance0.31<om:license>
Subscriber portability formatLifecycle & governance1.05(companion spec, JSON-LD)

Conformance levels

Features are grouped into conformance levels. Implementers state which levels they support; each level is cumulative (Level N implies Levels 1 through N-1).

Level 1, Parsing

The bare minimum. An RSS reader at this level:

  • Parses the om namespace without errors
  • Reads <om:provider>, <om:tier>, <om:access>, <om:preview> elements
  • Displays preview content for non-open items
  • Shows signup URL when present
  • Continues to work on non-om feeds unchanged

Implementer effort: one afternoon.

Level 2, URL token auth + unlocks

Adds:

  • Persisting per-feed URL tokens
  • Following <om:unlock> endpoints with stored tokens
  • Substituting unlocked content for preview when entitlement is verified
  • Handling group-scoped access (scope="group") at minimum via server-side entitlements

Implementer effort: ~1 week.

Level 3, OAuth Bearer + time windows + SCIM groups

Adds:

  • Bearer token flow with RFC 9728 discovery
  • Time window evaluation (<om:window>) against current clock
  • Self-managed group subscription support (for company/institution plans)

Implementer effort: ~2-3 weeks.

Level 4, OM-VC 1.0 + revocation checks

Adds:

  • Presenting W3C VC 2.0 credentials (EdDSA or ECDSA)
  • Reading Bitstring Status List to check revocation
  • Handling credential-scoped bearer tokens from presentation endpoints

Implementer effort: ~1 month, plus crypto library dependencies.

Level 5, Commerce

Adds:

  • <om:offer> parsing and display
  • In-app checkout flow (POST to /api/checkout, open returned URL)
  • Entitlement polling and token refresh
  • Feature-based access checks (<om:feature> IDs in JWT claims)
  • Proration policy display
  • Subscriber Portability Format 1.0 export + import, see ../spec/SPEC-PORTABILITY.md; round-trip required at 1.0

Implementer effort: ~2-4 weeks (commerce) + ~1 week (portability).

Level 6, Value-for-value

Adds:

  • <om:value> parsing
  • Payment rail abstraction (Lightning + fiat micropayments)
  • Recipient splits and time-based splits
  • One-time tip and streaming payment UX

Implementer effort: ~2 weeks beyond Level 5, plus rail-specific wallet integration.

Level 7, Privacy (OM-VC-SD)

Adds:

  • W3C BBS+ cryptosuite support
  • Selective disclosure proof generation
  • Per-verifier pseudonym derivation
  • Pseudonymous mode UX (user sees “you’ll appear as pseudonym X to this publisher”)

Implementer effort: ~1 month, requires BBS+ implementation (Mattr, Spruce, or Digital Bazaar libraries exist).

Level 8, Bundles

Adds:

  • Bundle credential acceptance
  • <om:bundled-from> trust chain verification
  • Audience claim matching

Implementer effort: ~2 weeks beyond Level 7.

Conformance profiles

Named combinations of levels for common use cases:

Indie Reader profile

Levels: 1, 2, 5 Good for: general-purpose RSS readers adding paid-content support Rationale: covers the dominant text-newsletter and tokenized-podcast cases; no cryptographic dependencies beyond signed JWTs

Enterprise Reader profile

Levels: 1, 2, 3, 4, 5 Good for: readers serving organisational subscribers (companies, institutions) with SCIM-provisioned group rosters Rationale: adds organisational-subscription infrastructure; still no BBS+ complexity

Privacy Reader profile

Levels: 1, 2, 3, 4, 5, 7 Good for: readers serving journalism-focused, legal, medical, or otherwise privacy-sensitive subscribers Rationale: adds pseudonymous mode; required for publications that shouldn’t retain subscriber identities

Full Conformance profile

Levels: 1, 2, 3, 4, 5, 6, 7, 8 Good for: a flagship reader that wants to be compatible with every om feature including Podcasting 2.0 parity and cross-publisher bundles Rationale: everything; expected of at most one or two readers in the ecosystem

Publisher conformance

Publishers don’t use the level system. Instead, they declare what their feed uses:

  • Required: namespace declaration, <om:provider>, at least one <om:authMethod>
  • Conditional: if <om:offer> present, /api/checkout must work; if <om:group admin="self-managed">, SCIM endpoint must work; if vc-presentation auth method, presentation endpoint must work
  • Validation: test suite runs against the feed URL and discovery document; any unhonored declaration is a conformance failure

Version-to-version backward compatibility

Upgrading fromUpgrading toReader code changes?Feed changes?
0.10.2No (new features opt-in)Add discovery doc if using new features
0.20.3NoAdd PSP declarations if using commerce features
0.30.4NoAdd revocation policy if relevant
0.41.0NoBump spec_version in discovery doc

Post-1.0 changes in the 1.x series maintain the same pattern: new features are opt-in, existing features are frozen.

The feature ladder

An intuitive map of what each conformance level gets you:

                                               ┌─────────────┐
                                               │  Level 8    │
                                               │  Bundles    │
                                               └─────────────┘
                                               ┌─────────────┐
                                               │  Level 7    │
                                               │  Privacy    │
                                               └─────────────┘
                                               ┌─────────────┐
                                               │  Level 6    │
                                               │  V4V        │
                                               └─────────────┘
                                               ┌─────────────┐
                                               │  Level 5    │
                              ◀── current      │  Commerce   │
                              "credible"       └─────────────┘
                              reader line      ┌─────────────┐
                                               │  Level 4    │
                                               │  OM-VC      │
                                               └─────────────┘
                                               ┌─────────────┐
                                               │  Level 3    │
                                               │  Bearer     │
                                               └─────────────┘
                                               ┌─────────────┐
                                               │  Level 2    │
                              ◀── minimum      │  URL token  │
                              viable           └─────────────┘
                              reader           ┌─────────────┐
                                               │  Level 1    │
                                               │  Parsing    │
                                               └─────────────┘

An afternoon’s work gets you Level 1. A week gets Level 2, which is enough to handle the most common case (Substack-style tokenized feeds). A month gets the full enterprise-ready Level 5 stack. Beyond that, each additional level addresses increasingly specialized use cases.

The right ambition for most readers is “Level 5 within 6 months of first hearing about the spec.” That’s the line at which a reader becomes a serious participant in the ecosystem rather than a curiosity.