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.