Calgary skyline under a bright blue Alberta sky with the Rocky Mountains behind
System architecture

A layer beside the operator, not inside the money.

StoriPlay reads session signals and writes experience. The licensed operator keeps every regulated function, and AGLC gets one consistent, auditable record of player protection across the whole market.

The stack, layer by layer

Five layers. Only one of them is ours.

01

Operator platform

Owned by the licensee

Wagering engine, wallet, KYC, settlement, and the player account. StoriPlay never reads a balance or moves money. This layer stays exactly as certified.

02

Signal bridge

Thin, read-mostly integration

A small SDK plus a webhook contract emits session-level events: session start, stake placed, outcome resolved, session close. Pseudonymous session identifiers only, no identity payloads.

03

Narrative engine

The StoriPlay core

A twelve-stage state machine derived from the monomyth. It advances on operator events, decides which stage is due, and refuses to advance past a protection stage that has not been served and acknowledged.

04

Experience surface

Rendered in the operator's app

Themeable components: the pre-commitment gate, the plain-language odds mentor, the in-session reality check, the outcome chapter, and the cooldown close. Operators tune copy, timing thresholds, and visual treatment.

05

Assurance ledger

The AGLC-facing artefact

Every protection stage served, acknowledged, deferred, or refused is written as an immutable, timestamped event with Canadian data residency. Operators export it; AGLC reads a consistent shape across every licensee.

Request path

What happens between a stake and a stage.

  1. Step 1
    Operator event

    session.start, stake.placed, outcome.resolved

  2. Step 2
    Stage resolver

    Which of the twelve stages is due now

  3. Step 3
    Gate check

    Protection stage outstanding? Story cannot advance

  4. Step 4
    Surface render

    Stage component drawn inside the operator app

  5. Step 5
    Ledger write

    Served, acknowledged, deferred, timestamped

The gate check is the whole idea. If a protection stage is outstanding, the resolver will not return the next narrative stage, so the experience simply cannot continue until the player has been shown their limits, their odds, their time, or their close.

Guarantees

What the architecture promises AGLC.

No regulated function moves

No wagers, no balances, no settlement, no KYC. The licensee remains the operator of record for every regulated action and the controller of every record.

Protection stages are load-bearing

Stages 3, 4, 7, 10, 11 and 12 are structural. The arc cannot advance without them, so they cannot be quietly A/B tested out of the funnel.

Data minimisation by default

The engine works from session signals scoped to what a stage needs to decide. Data stays in Canada, and the operator remains the data controller.

One shape across the market

Because every licensee integrates the same stage contract, AGLC gets comparable adherence data instead of a different report format from each operator.

Integration timeline

Six weeks from signal map to instrumented pilot.

Weeks 1โ€“2

Signal mapping

Map the operator's existing session events onto the stage contract. No new regulated surface area.

Weeks 3โ€“4

Surface theming

Skin the six protection stages and six narrative stages to the operator's brand, with copy reviewed against Alberta standards.

Weeks 5โ€“6

Instrumented run

Live cohort with both retention and responsible-play metrics reported side by side to the operator and, at their discretion, to AGLC.