Security & data

Separation you can check, not a badge on a page.

You are about to put your customer list, your rates and your payment history into somebody else's software. That deserves specifics rather than reassurance, so this page names the mechanisms.

The core of it

One business cannot see another.

Most software at this price keeps every customer in the same tables, separated by a column. It works right up until one query forgets the filter.

EventzNest never shares tables between businesses. Each request resolves to exactly one schema and is locked to it for the life of that request. The application code physically cannot reach past it.

It is tested, not asserted.

An automated suite creates two businesses, fills both with data, and then attempts to reach one from the other through every module — customers, menu, quotations, bookings, payments, reports, staff and billing. It runs on every change. If isolation ever broke, the build would fail before the change shipped.

A request for one tenant resolves to that tenant's own database schema. An attempt to read another tenant's data is blocked at the schema boundary.
GET/api/customersHost: bluefig.eventznest.com
tenant_bluefigBlue Fig Caterers
  • customers
  • quotations
  • bookings
  • payments
tenant_shorinShorin Academy
  • customers
  • quotations
  • bookings
  • payments
tenant_verdeVerde Events
  • customers
  • quotations
  • bookings
  • payments

Proven by an isolation suite that runs on every change — not asserted.

Measures

What is actually in place.

Separate schemas, not a shared table

Each business gets its own Postgres schema. Requests are pinned to it before application code runs, so a query has no way to name another business’s tables.

Two separate sign-in realms

Our own admin console uses a different session cookie, a different secret and a different session store from your staff logins. A session from one is rejected by the other, in both directions.

Passwords are hashed, credentials encrypted

Sign-in passwords are hashed with bcrypt and are not recoverable by anyone, us included. Your email password has to be replayed to send mail, so it is encrypted with AES-256-GCM instead — tampering makes it fail loudly rather than silently.

Your email password never comes back out

Once saved, it is stripped from every response the system can produce. Screens show whether one is set, never what it is.

Deactivate, don’t delete

Removing a staff member ends their access on their next request but keeps their authorship on past quotations and payments. The last active owner cannot be locked out, and nobody can deactivate themselves.

Sign-in gives nothing away

A wrong password, an unknown address and a deactivated account all return the same message after the same work — so neither the response nor its timing confirms whether an account exists.

Your data

It is yours, and leaving is not a negotiation.

Export and deletion are features, not a support ticket you have to escalate.

Export
Everything you have put in, as a multi-sheet Excel workbook — customers, menu, quotations, bookings, payments, expenses, staff and activity. Password hashes and stored email credentials are never included.
Delete
On request, your schema is dropped and your records removed. The schema goes first, so your subdomain can never be reissued to someone else while your data still exists.
Recovery
Point-in-time recovery on the database, with a written runbook covering four scenarios — including restoring one business without touching any other.

Sub-processors

Who else touches your data.

The complete list. We will tell you before it changes.

ProviderWhat they doWhat they hold
Digital OceanApplication hosting and Postgres database hostingAll business data you enter — customers, students, quotations, bookings, payments, attendance.
Your own email providerSending mail from your addressWhatever your quotations, receipts and reminders contain. You choose this provider, not us.
Google (Analytics 4 and Google Ads)Measuring traffic to our public website and the performance of our advertisingWhich pages of eventznest.com a visitor viewed and whether an enquiry followed. Loads on the public website only — never inside the application — and stores nothing until a visitor accepts cookies. None of your business data reaches it.
Meta (Facebook Pixel)Measuring the performance of our advertisingWhich pages of eventznest.com a visitor viewed and whether an enquiry followed. Loads on the public website only — never inside the application — and stores nothing until a visitor accepts cookies. None of your business data reaches it.
Microsoft (Clarity)Heatmaps and session replay for our public homepage, so we can improve itHow a visitor moves through the eventznest.com homepage — clicks, scrolling, mouse movement. Our homepage only: not our pricing page, not any page with a form, and never inside the application. Runs only after a visitor accepts cookies, and text typed into input boxes is masked.

On India's DPDP Act. When you use EventzNest, your customers' data stays yours — we process it on your instructions. The export, deletion, audit trail and encryption described above are the machinery that lets you answer your own customers' requests. Our written data processing terms are on the data processing page.

Security question we have not answered here?