Skip to main content

Identity and Access Model

MCSP implements RBAC across four principal types, each with a distinct permission scope and trust level.
RoleScopeKey Permissions
ViewerOwn account onlyStream content, manage own playlists/history, submit reports, manage own subscription
CreatorOwn channel and contentUpload/manage/delete own content, view analytics and revenue, manage payout settings, appeal moderation decisions
Organisation AdminOrganisation tenancyManage org members, set org-wide residency policy, view org analytics, manage org subscription
Platform AdminFull platformManage all users and content, access moderation dashboard, manage ad campaigns, modify subscription plans, view audit logs, approve/revoke residency
JWT tokens encode role and a minimal claim set. Tokens are short-lived (15-minute access token; rotating refresh token stored as an HttpOnly cookie). The API Gateway validates token signature and expiry on every request. Service-to-service calls use separate mTLS client certificates issued per service identity.
Zero-Trust boundary. Every inter-service call on MCSP requires a valid mTLS client certificate issued per service identity. No internal endpoint is reachable without mutual authentication — the service mesh (Istio) enforces this independently of application code.

Data Encryption

Data StateApproach
In Transit (client-to-edge)TLS 1.3 mandatory. HSTS preload. Certificate pinning on iOS and Android apps.
In Transit (internal)mTLS between all microservices via Istio. Kafka traffic encrypted with TLS. All database connections require TLS.
At Rest (object storage)AES-256 server-side encryption. Media content uses envelope encryption: content key encrypted with a master key in KMS/HSM.
At Rest (databases)Postgres transparent data encryption (TDE) at storage layer. PII fields (payment tokens, email) additionally encrypted at the application layer with HSM-managed keys.
DRM Media KeysNever stored in plaintext. Accessible exclusively via authenticated KMS API. The DRM License Server does not cache key material beyond a single license issuance.

Key Management Hierarchy

MCSP uses a three-tier key hierarchy backed by hardware security modules:
1

Hardware Root of Trust

HSM (AWS CloudHSM or equivalent) holds master key material. Root keys rotate annually with ceremony.
2

Key Encryption Keys (KEKs)

Managed in KMS. Used to wrap and unwrap Data Encryption Keys. Rotated quarterly. Never leave the KMS boundary in plaintext.
3

Data Encryption Keys (DEKs)

Generated per content item. Wrapped with the KEK. Stored alongside content metadata in encrypted form. Rotated per content version.
DRM content keys are issued by the Widevine/FairPlay/PlayReady key servers under a separate key namespace but are themselves wrapped by MCSP’s KMS-managed KEKs.

Anti-Piracy and Abuse Mitigation

ThreatMitigation
DDoSWAF + volumetric DDoS absorption at edge. CDN absorbs L3/L4 attacks. API Gateway rate limiting mitigates L7 application-layer DDoS.
Credential stuffingRate limiting on /login. CAPTCHA after 3 failed attempts. Breached password detection via HaveIBeenPwned API at registration. Anomalous login geography triggers a 2FA challenge.
Content scrapingTokenised, time-limited CDN URLs (HMAC-signed, 1-hour TTL). Manifest URLs are user-session-bound. Server-side rendering prevents API key exposure in client bundles.
Screen recordingWidevine L1 and FairPlay enforce hardware-backed output restrictions on supported devices. Browser EME API prevents direct access to decrypted media bytes.
Copyright infringement uploadAI fingerprint scanner (perceptual hash + audio fingerprint) runs at upload time. Matching content is blocked pre-transcoding.
Widevine L3 and desktop limitation. Budget Android devices running Widevine L3 (software DRM) and desktop OS screen recording cannot be hardware-prevented. Per-user session visual watermarking embedded at packaging time provides forensic deterrence for high-value content in these environments.

Compliance Posture

FrameworkMCSP Approach
SOC 2 Type IIImmutable audit logs, RBAC access controls, encryption at rest and in transit, incident response plan, change management via CI/CD approval gates
GDPRData minimisation at collection, right-to-erasure via cascading account deletion, data portability export, DPA with all sub-processors, EU data stays in EU region
NDPR (Nigeria)Nigeria Data Residency provides verifiable data sovereignty for Nigerian users. Data processing agreements with local entity. Consent flows comply with NDPR requirements.
PCI DSSNo card data stored on MCSP infrastructure. Tokenisation via Paystack/Stripe. SAQ-A scope. All payment forms hosted by payment processor.
Audit log writes are synchronous and write-path critical. Unlike fire-and-forget telemetry, audit log write failures are surfaced back to the calling service. The audit store uses an append-only schema — no DELETE or UPDATE is permitted by any application principal.

Privileged Access

Production data is inaccessible to developers under normal operating conditions. A Privileged Access Management (PAM) system brokers time-limited, audited access for break-glass scenarios. All PAM access sessions are recorded and written to the immutable audit log.

Build docs developers (and LLMs) love