Platform

One identity model for your team and your customers

Authentication, organizations, roles and permissions — with staff identity and customer identity kept deliberately separate.

Problem

Most platforms conflate two different kinds of user

The person administering a business and the customer earning a reward are not the same kind of account, and treating them as one produces permission models that are impossible to reason about.

The result is usually a staff role that can accidentally act as a customer, or a customer record that carries permissions it should never have.

Solution

Two models, one platform

Staff identity covers people who operate an organization: authentication, MFA, sessions, devices, roles and environment scope. Customer identity covers the people a business serves, with their own identifiers, profiles and wallet ownership.

Permissions are always evaluated against an organization and an environment. There is no global administrator that quietly reaches across tenants.

Architecture

How access is decided

  1. Identity01

    Who is making the request

  2. Organization02

    Which tenant they are acting in

  3. Environment03

    Test or production

  4. Role04

    What the role grants

  5. Check05

    Enforced at the service boundary

Features

What the layer provides

Organizations

The tenant boundary. Every record, wallet and rule belongs to exactly one.

Roles and permissions

Role-based access scoped to an organization and environment.

Team management

Invitations, membership, role changes and removal with an audit trail.

MFA and passkeys

Second factors for staff accounts, including passkey sign-in.

Sessions and devices

Visible active sessions that an administrator can revoke.

Customer identifiers

Map your own customer IDs, emails or handles onto platform customers.

Use cases

What businesses run on it

Multi-brand groups

One company, several organizations, no shared data by default.

Agency access

Granting a partner a scoped role in one environment and revoking it cleanly.

Support boundaries

Support staff who can read a customer record but cannot move a balance.

Safe testing

A test environment where a mistake cannot reach a real customer.

API preview

Inviting a team member with a scoped role

identity.tstypescript
await matinee.invitations.create({
  organizationId: 'org_2Kd9',
  email: 'ops@yourcompany.com',
  role: 'rewards_operator',
  environments: ['test'],
})

// The role grants reward rule editing in test only.
// Production access is a separate, explicit grant.

Illustrative. The API surface is fully specified but not yet served; this snippet does not call a live service.

Ready to build your digital economy?

Matinee AI has no public signup. Tell us what you want to launch and we will review the request.