NewReynt AI: a link becomes a finished listing
Security & architecture

Separated down to the database.

Tenant separation in Reynt is not a condition someone has to remember to write into every query — it is a rule in the database. Add per-tenant keys, operation in EU data centres, and a data processing agreement you can put in front of your own customers.

No credit card required — after 14 days the trial ends by itself.

  • Separation in the database
  • A key pair per tenant
  • Operated in the EU
  • Art. 28 GDPR agreement
Diagram: requests carrying a tenant pass row level security while a query without a tenant gets no rows — below it the key pair, whose public half encrypts on the booking site and whose private half only the back office decrypts with

Per tenant

Its own derived keys for data, search, and signatures

Every table

Tenant data sits behind forced row level security

90 days

Backup retention, run redundantly in EU data centres

Separation that does not depend on the code

Bolt multi-tenancy on afterwards and it hangs off every single query. Here it hangs off the database.

Row level security on every table

Every tenant-scoped table carries a forced row-level rule. Every request runs on a connection whose tenant was set first — without it the database hands nothing back. A forgotten filter in the code cannot expose another tenant’s data.

  • Rules apply to the table owner too
  • The tenant is set per request
  • Background work runs in its own, deliberately set mode

Its own keys per tenant

From one master key, each tenant gets its own derived set: one for personal data, one for searching it, one for signing. They exist before the first record is ever written.

The booking site can encrypt, not decrypt

Every tenant has a key pair. Checkout, guest registration, and the contact form only ever hold the public key: guest data is encrypted the moment it arrives. The private key is opened by the back office alone — whoever takes over the booking site cannot read what it wrote.

  • Public key on the booking site
  • Private key only in the back office
  • Encrypted before anything is stored

Search without decrypting

Encrypted fields stay findable: a blind index takes the search to the right record without the plaintext having to be read for it.

Permissions per person, not per login

Sign-in through Zitadel, with roles and permissions per member. Machines get their own API keys within the same limits. Checks always happen on the server, never only in the interface.

Operations and contracts in Europe

Run redundantly in EU data centres, backups retained for 90 days, an Art. 28 GDPR data processing agreement, and a DSA notice-and-action procedure. You can export your data at any time.

  • Art. 28 GDPR data processing agreement
  • Backups retained for 90 days
  • Export your data anytime

Built in or bolted on?

The difference only shows once something goes wrong.

Where separation lives

With Reynt

In the database, enforced

Bolted on afterwards

In every single query in the code

When a query forgets the filter

With Reynt

The database hands nothing back

Bolted on afterwards

Another tenant’s data shows up

Keys

With Reynt

Its own set per tenant

Bolted on afterwards

One key for everyone

What the public booking site can do

With Reynt

Encrypt only — the private key is not there

Bolted on afterwards

The same key writes and reads

Searching encrypted fields

With Reynt

Via a blind index, no plaintext

Bolted on afterwards

Decrypt — or do not search at all

Background work

With Reynt

Its own mode, deliberately set

Bolted on afterwards

Runs along with full access

Evidence during procurement

With Reynt

The agreement, EU operations, exportability

Bolted on afterwards

Assurances over the phone

What happens before your first record exists

Four steps nobody triggers by hand.

  1. 1

    The tenant is created

    It gets its own keys before anything can be stored at all.

  2. 2

    Every request gets its tenant

    The database connection is set to it before the first row is read.

  3. 3

    Permissions are checked on the server

    Role and permission decide what the request may do — regardless of what the interface offers.

  4. 4

    The rest is in the contract

    Processing, retention, and exportability are written down, not promised.

What this means for you

A forgotten filter in the code cannot surface another tenant’s data

Every tenant holds its own keys — including against every other tenant

The public booking site encrypts guest data; it cannot read it

Operations, backups, and contracts stay in the EU

Procurement gets something to read instead of assurances