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
- Identity01
Who is making the request
- Organization02
Which tenant they are acting in
- Environment03
Test or production
- Role04
What the role grants
- 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
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.