Security
Built to keep your workspace yours
Your data stays yours
Company scoping on every query
Each request carries the company it belongs to, and the data layer requires it before a query runs. Your workspace only ever returns your workspace's records.
Files belong to your company
Every upload — documents, CVs, project resources, attendance spreadsheets — is stored as a record owned by your company, and both download and delete confirm the requester belongs to it.
Separated administration
The platform operations console is a separate application with its own credentials, reached independently of your workspace and of the people working in it.
Storage you can host yourself
File storage runs against AWS S3 or any S3-compatible endpoint you operate, so you decide where your documents physically live.
Secure authentication
Passwords hashed with bcrypt
Passwords are stored as bcrypt hashes, so they are never held in a readable form by anyone.
Sessions carried in HttpOnly cookies
The session travels in cookies that page scripts cannot read. The application asks the server who you are rather than decoding a token in the browser.
Idle and absolute session limits
Sessions end after a period of inactivity and, separately, at an absolute maximum age. Both are configurable for your deployment, and the sign-in screen reflects the policy actually in force.
Device-bound session renewal
A session is renewed only from the device it was issued to, so a token lifted from one machine cannot be used to continue the session elsewhere.
People set their own passwords
New users receive an emailed invitation and choose their own password from the link. No administrator ever selects or handles someone else's credentials.
Sign-in attempt limits
Sign-in and renewal attempts are rate limited against both the client address and the named account, so neither a rotating address pool nor an attempt sprayed across many accounts gets a free run.
Account recovery in the product
Administrators can see locked accounts and unlock them from the Admin screens, so recovery is a supported action rather than a support ticket.
Role-based access control
A permission per screen and per report
Access is granted by named permission — Board, Hours Per Project, Leave Summary, Employees — grouped in the grid exactly as the product's own navigation is.
Roles you define
Every company starts with Admin, Manager and Guest, and you build as many roles of your own as your organisation needs from the same catalogue.
Enforced end to end
The same permission drives the navigation, the application route and the API. The API checks it independently, so access never rests on what the browser believes.
Per-project access
Role permissions decide which screens someone can use; project access decides which projects appear in them. A delivery lead can be given full project rights on their own engagements only.
Administration reserved
Company settings and billing are restricted to the Admin role specifically, so the most sensitive screens are granted deliberately.
Protected API and inputs
One authenticated API
Everything the application does goes through a documented HTTPS API behind the same session, company scoping and permission checks as the screens.
Origin allowlist
Cross-origin access is granted only to origins you configure, and requests from anywhere else are refused before they are processed.
Cookie policy you control
SameSite, Secure and the cookie domain are configured for your deployment rather than left to defaults.
Bounded responses
Page sizes are capped, so a single request cannot be used to pull an unbounded volume of records.
Sanitised rich text
Descriptions and comments are written in a rich-text editor and sanitised before they are rendered anywhere in the product.
A record of what happened
Field-level change history
User record changes are recorded as who changed which field, from which value to which, and when — scoped to your company.
Issue history
Issues keep their own audit trail, so a status or assignment change is attributable rather than merely visible.
Email delivery log
Every message Matrix sends is recorded in the Email Logs report, so a notification can always be traced.
Assistant actions recorded
Every action taken through the in-product assistant is written to the audit log, and anything destructive requires an explicit signed confirmation before it runs.
Careful telemetry
Operational metrics and audit records are written without question text, arguments, answers or identifiers, so diagnostics never become a second copy of your data.
Chat History
Questions asked of the assistant are available as their own permissioned report for companies that want oversight.
Working with your security team
Send us your questionnaire
Or email sales@ginilytics.com
Security questions
How is our data kept separate from other companies?
How are passwords stored?
How do we control who can see what?
Is access control enforced beyond the interface?
How are sign-in attempts protected?
Can we see who changed something?
Can you complete our security questionnaire?
Related reading: how roles and permissions work, the controls around the in-product assistant, and designing a role and permission model.
See the access model on your own team
Create a workspace, invite a few people and build the roles your organisation actually uses. It takes minutes, and it is the clearest way to judge whether the model fits.