1.8 KiB
StreamPixels Access Profile
What this file is
This file records how StreamPixels should fit onto Heimdall in
docs/architecture.md without turning streamer-audience data into shared auth
sludge.
It is a boundary note, not a command to rewrite StreamPixels around Repixelizer.
Current repo boundary
The current StreamPixels architecture already makes useful splits:
- the web app owns the remembered viewer session
- the service owns provider OAuth exchange and identity resolution
- the overlay remains auth-free
- creator memberships and operator roles are separate from general viewer state
That is already compatible with the shared backbone idea.
What StreamPixels can reuse
- signed local session mechanics
- linked-identity and signed OAuth-state patterns
- provider adapter structure
- creator/operator capability evaluation
- grant/invite primitives where they fit
In the service-first Heimdall version, the most likely reusable slice is:
- provider OAuth authority
- identity-linking authority
- entitlement refresh
- shared claim semantics
What StreamPixels should keep separate
- viewer audience profiles
- creator memberships tied to streamer spaces
- creator connector credentials
- overlay/runtime state
- audience-facing app data in general
In plain language:
- Heimdall can authenticate and authorize the control plane
- StreamPixels audience data stays StreamPixels data
Capability direction
Likely capability families:
viewer_accesscreator_accesscreator_adminoperator_access
These should bind onto the existing StreamPixels creator/operator separation instead of flattening it into one GameCult-member gate.
Invariant
If a future shared access store exists, it must not become the canonical home for streamer-audience identity and product data. That stays with StreamPixels.