Security

Your people data stays yours.

VKT holds names, reporting lines, leave records and expense claims. That is sensitive by default, so the safety comes from how the system is built — not from a promise on a page.

Tenant isolation in the data layer

Every table carries a workspace id and every repository method takes it as its first argument. Forgetting it returns nothing rather than somebody else's data. Unique keys are scoped per tenant, so two companies can have the same department name.

Encrypted workspace tokens

Bot tokens are encrypted with AES-256-GCM before they touch the database, with a random nonce per record. The key lives in the environment, never in the repository, and the service refuses to start if the key is malformed.

Rights derived from the organisation

Admin is not a flag somebody hands out: it is the person who installed the app, or the top of the reporting tree. The same check decides who can see company-wide totals and who can change settings, in Slack and on the web.

Deletion that actually deletes

Retention windows are configurable. When one expires, claim contents, notes and receipt files are deleted and the record keeps only amount, status and approvers — enough for finance, not enough to identify a person.

Security

How we handle the details

Transport
HTTPS only. The browser never receives a Slack token.
Sessions
Signed, HttpOnly, Secure, SameSite=Lax. Seven days, revocable.
Sign-in
Slack OIDC. No password is stored, ever.
Least privilege
Only the bot scopes the installed modules need.
Attachments
Receipts are readable only by the requester, the approver chain and admins.
Audit
Sensitive actions are logged with actor, action and time.
Backups
Encrypted at rest, retained on a rolling window.
Sub-processors
Cloudflare for delivery, one managed database host.

GDPR and data processing

We act as a processor for the people data in your workspace. A data processing agreement is available before you roll out, and we will document our sub-processors, retention periods and deletion procedure on request.

  • Data processing agreement available on request
  • Configurable retention for approvals and leave records
  • Anonymisation instead of indefinite storage
  • Export and deletion handled through support

Doing a security review?

Send us your questionnaire and we will answer it in writing, including architecture, data flow and sub-processors.

Contact us