OLYRON
Local 
Request a demo

Secure Raven and Labs are live

Many apps. One login.

Olyron designs, ships, and sells software. Sign-in, roles, and audit live in Accounts, so every app starts on the same login.

  • SSO
  • OAuth 2.1 / OIDC
  • RBAC
  • Tenant isolation
  • One audit trail
Olyron Accounts at the centre, with CRM, Labs, Browser, Secure Raven and Olyronix live around it, and Orbit Station coming to the App Store.
RBAC permissions, shared by every app
90+
audit trail across Accounts, CRM, Labs and Browser
1
p99 sign-in latency target at the edge
<100ms
Postgres row-level security under every tenant
RLS

Field 02 · Accounts

Built once. Inherited by every app.

Most companies bolt security onto each product separately. We build it once, underneath everything, so a new Olyron app starts with the same login, permissions and audit trail as the last one.

Separate apps

  • 6 logins
  • 6 role models
  • 6 audit logs
  • Reviewed app by app

On Olyron

  • 1 login, org-aware tokens
  • 90+ shared permissions
  • 1 audit trail
  • Reviewed once, in Accounts
The Olyron stack: apps sit on Olyron Accounts, which provides identity, policy, data isolation and audit.

Apps

  • Secure Raven
  • CRM
  • Labs
  • Browser
  • Olyronix
  • Orbit Station
Identity
Olyron AccountsHosted sign-in, SSO over OAuth 2.1 and OIDC, organizations, and org-aware JWTs.
Policy
Roles and tenancy90+ RBAC permissions and tenant isolation, enforced the same way in every app.
Data
Postgres with row-level securityA shared customer graph where each row knows which organization owns it.
Audit
One trailEvery sign-in, role change and data access, from every app, in one place.

Field 04 · Developers

Build on the same login.

Register an app, validate redirect URIs, and exchange a one-time code for an org-aware profile. Roles, tenancy, and audit come from Accounts.

sso-exchange.tsPOST /api/sso/token
// Exchange an SSO code for an org-aware profileconst res = await fetch("https://accounts.olyron.com/api/sso/token", {  method: "POST",  headers: { "Content-Type": "application/json" },  body: JSON.stringify({ code, app_key: "your_app" }),});const { user, org, role, scopes } = await res.json();

Decoded claims · example

  • org org_3kf9
  • role admin
  • scopes crm:read labs:write
  • apps 4

Field 05 · Channel

Put every app on one login.

A 30-minute walkthrough of Accounts and the apps, with your own org and roles.