Security

Doorly is built so more than one company can use the system without seeing one another’s data.

Tenant isolation

  • Every company, event, talk, registration and membership lives in a Doorly table with a company identifier.
  • Look-ups have to match the signed-in company. A guess at another company’s address should return “not found”, not a glimpse of their data.
  • Doorly tables are separate from any other product on the same server. The original SEAL system is left untouched.

Accounts and sessions

  • Passwords are hashed (Argon2id where the server supports it, otherwise bcrypt).
  • Sign-in is rate-limited. Sessions last 30 minutes of idle time, or 12 hours at most.
  • Forms carry a CSRF token. The super-admin area has its own cookie path and login.

Roles

Inside a company, access is role-based: owner, admin, event manager, talk editor, check-in staff and report viewer. The first user at sign-up is the owner.

What is not in this first release

Two-step login, email verification letters, and live Stripe billing are planned and not yet on. Stripe identifiers can be stored, but no live keys are used.

More on isolation and roles.