Skip to main content
CYPEX Documentation
Support
v2.0.0 Latest stable release View changelog ->

Release Notes v2.0.0

v2.0.0 is the release in which CYPEX becomes a multi-tenant PostgreSQL application platform. Tenancy is a first-class object (Organizations), isolation is enforced in the database (Row-Level Security), authorization is two-dimensional (Capabilities × Data Scope), schema exposure is explicit (Schema Access), identity can be federated (SSO Gateway), and outbound integrations are governed (allowlist, credentials, enablement, audit).

Warning
This is not a drop-in patch. v2.0.0 changes the permission and tenancy model. Read the Upgrade to v2.0.0 operator guide before planning a maintenance window, then the Upgrading to v2.0.0 technical reference for the database detail.

At a glance

AreaWhat changed
OrganizationsMultiple tenants in one deployment, isolated by PostgreSQL RLS on 37 tables
RolesThree role types; Capabilities and Data Scope configured as separate concerns
Schema AccessPer-organization control over which database schemas (modules) are available
Admin panelNew information architecture, role-aware navigation, Setup Guide, Access Preview
SSODedicated SSO Gateway service, five provider types, pending-approval gate; LDAP and local login unchanged
ConnectorsAllowlist, encrypted credentials, connector builder, two-level enablement, execution audit
Breaking changesRLS, role semantics, Schema Access, new service, route changes

Organizations

A CYPEX deployment can serve more than one tenant — an Organization — from the same PostgreSQL database. Isolation is enforced by Row-Level Security in the database, not by UI filtering.

Read full post

Capabilities vs Data Scope

The CYPEX permission model is two-dimensional. A request succeeds only when both dimensions allow it:

  1. Capabilities — what the user is allowed to do. Defined by PostgreSQL role grants on queries, functions, and tables.
  2. Data Scope — which rows the user is allowed to act on. Defined by Organization membership and enforced by Row-Level Security policies that read the request JWT.

The two are deliberately independent. Granting a capability and assigning an organization are separate operations, and neither implies the other.

Read full post

Roles & Capabilities

The next important step is to define roles. Remember, roles are connected to CYPEX users and represent real database-side users. Role Management lets you manage PostgreSQL database roles and application permissions for your CYPEX platform:

Role Management

Roles define capabilities — what operations a user can perform — which is a separate concern from organization membership, the data scope those operations apply to.

Roles define capabilities — what operations a user can perform — which is a separate concern from organization membership, the data scope those operations apply to.

Roles vs Organizations

Permissions in CYPEX have two independent dimensions, both required for access:

Read full post

Roles and permissions

This page describes the v2.0.0 role model and how roles, JWTs, and RLS policies work together to enforce multi-tenant isolation.

Role summary

All three roles are created as NOLOGIN group roles. Humans (and the authenticator pool) log in as other roles that are granted membership in these groups — they never LOGIN as cypex_admin, cypex_user, or organization_admin themselves.

Read full post

Capabilities vs data scope (admin UI)

Info
This page is the admin-panel walkthrough: where each dimension lives in the GUI, and how they combine at query time. For the full conceptual write-up (JWT claims, RLS SQL, the roleType API contract), see Capabilities vs Data Scope under Organizations.

The v2.0.0 access model has two independent dimensions. A request only returns rows when both agree:

DimensionQuestion answeredWhere it’s configured
CapabilitiesWhat is this user allowed to do?PostgreSQL role grants (SELECT/INSERT/UPDATE/DELETE, EXECUTE)
Data ScopeWhich rows is this user allowed to act on?Organization assignment + Row-Level Security

A role with broad capabilities but no organization mapped sees no tenant rows. A role mapped to an organization but with read-only capabilities sees all of that organization’s rows but can’t change them. Neither dimension substitutes for the other.

Read full post

User and authentication model

A high level of protection must be assured of your data. We put great emphasis on security, and ensure that data is protected at all times. As part of that, our user management is based on a solid, well-tested user concept.

Understanding the CYPEX user concept

The first question we have to answer when talking about security is: “What is a user?”. Having a clear picture in mind is important to understand the big picture.

Read full post