Skip to content

Security

What protects your data, stated plainly.

This page describes how WorkLog works today. It makes no claim that has not been checked against the product, and it will be updated when anything here changes.

Last reviewed: 25 September 2026

Signing in

WorkLog itself never stores a password.

Methods
Google, GitHub, or an email and password. Authentication is handled by Neon Auth.
Email and password
The address is confirmed with a 6-digit code before the account can be used. Passwords are stored by Neon Auth as one-way hashes; resetting one needs a code sent to the address.
Sessions
Your session is kept in HTTP-only cookies managed by Neon Auth, which scripts in the page cannot read.
Provider tokens
WorkLog uses your Google or GitHub account only to sign you in. It does not use the provider’s tokens for anything else.
Not offered
Single sign-on through SAML or an identity provider is not available.

Who can see what

Two independent layers decide access. Both have to agree.

Server checks
Every request is checked on the server: who you are, which workspace you are in, and what your role allows. Nothing sent by the browser is trusted to decide that.
Database row-level security
The database itself only returns rows from workspaces you belong to. It is a second line of defence: a mistake in a server check still cannot expose another workspace’s data.
Other workspaces
Items in a workspace you are not part of are reported as not found, so their existence cannot be probed.
Invitations
The token in an invitation link is stored only as a hash. Links expire and can be revoked.
What each role can do in a workspace
CapabilityOwnerAdminManagerMember
Track, see and edit their own time
See everyone’s time and team reports
Edit or delete someone else’s time
Approve or return timesheets (when approvals are on)
Create and edit clients, projects, tasks, budgets, project rates and a member’s rate on a project
Create tags
Rename or archive tags
Invite and remove members, change roles (never to owner), set a member’s workspace rate
Change workspace settings: currency, default rate, approvals on or off
Read the workspace audit log
Transfer ownership or delete the workspace
  • Nobody can change their own role. An admin cannot change or remove the owner or another admin.
  • Rates and money values are shown only to owners, admins and managers. Members see hours.
  • Removing a member ends their access immediately. Their entries stay for the workspace’s reports.
  • Changes to membership, roles, rates and approvals are written to the workspace audit log.

Where your data lives

Two providers, both named.

Database
Neon Postgres in AWS eu-central-1 (Frankfurt, Germany).
Hosting
The application runs on Vercel, in its Frankfurt region.
In transit
Connections to this site use HTTPS. Connections between the application and the database use TLS.
Backups
Neon keeps the database history for point-in-time restore. The restore window is currently 6 hours, and never more than 30 days (see the privacy policy).

Your data, your decision

You can take it with you or remove it.

Export
Download your workspace’s entries, clients and projects as CSV, or everything as one JSON file.
Import
CSV import of time entries, with a preview and a report of every row that could not be imported. Missing clients and projects can be created on the way.
Deletion
Delete your account from inside WorkLog.
No monitoring
WorkLog records the work time you declare. It takes no screenshots, logs no keystrokes and does not track activity.
No trackers
No analytics and no advertising trackers run on this site or in the app.

What this page does not claim

So nothing is read into silence.

  • WorkLog holds no third-party security certifications, such as SOC 2, ISO 27001 or HIPAA.
  • No uptime figure or service level is promised.
  • No statement is made here about how data is encrypted at rest.

Reporting a problem

Found a security issue?

Please tell us through the contact page. Include what you found and how to reproduce it, and do not access other people’s data while testing.