Skip to main content
MeetCost is software you run, not a service anyone operates for you. That means there is no processor to sign a Data Processing Agreement with — you are the data controller of everything in your deployment. This page describes what personal data MeetCost holds, how to service data subject rights using the API, and the technical and organisational measures the system provides. It is a description of what the software does, written so that your privacy counsel, DPO, or works council can assess it quickly. It is not legal advice, and the obligations are yours.

Personal data MeetCost holds

Pay is not “special category” under GDPR Article 9 in most readings, but it is among the most sensitive data an employer holds about someone. MeetCost’s protections treat it that way throughout.The row that most often surprises people is attended minutes per person. It is behavioural data about individuals, and it is the row a works council will ask about first.

Before you deploy

Work through these with whoever owns privacy at your organisation.
1

Establish a lawful basis

Most European deployments land on legitimate interests (Article 6(1)(f)) for cost analysis of meetings. Consent is a poor fit in an employment relationship, where it is rarely freely given. Produce a legitimate interests assessment, and ensure the balancing test engages honestly with the fact that this system can measure individuals.
2

Assess whether a DPIA is required

Processing employee pay data alongside behavioural (attendance) data will usually meet the threshold for a data protection impact assessment. Conduct it before deployment, not after the first complaint.
3

Consult works council or employee representatives

In Germany, the Netherlands, France, and elsewhere, a system capable of monitoring employee behaviour requires consultation or co-determination before it goes live. This is not a formality. Involve representatives early — the position that MeetCost is a meeting-hygiene tool rather than a performance tool is much easier to make when representatives helped set the configuration.
4

Be transparent with employees

Employees should be told this exists, what it measures, and who can see what. A short internal note referencing your configured settings is usually enough. Deploying it quietly is the single fastest way to turn a cost-hygiene tool into a surveillance story.
5

Check applicable national law

The Ghana Data Protection Act 2012, and similar regimes in other jurisdictions, require registration with a data protection authority and confer data subject rights on employee data on the same terms as GDPR. The API mechanisms below cover the technical side of those rights regardless of jurisdiction.

Data subject rights

“What do you hold about me?”Use these two endpoints to retrieve a person’s pay history and a full record of who has accessed it.
The reveal=true flag on the first request is itself audited — servicing an access request leaves its own trace in the log, which is the intended behaviour.

Technical measures


Organisational measures worth having

Name someone accountable

Name a person responsible for the deployment. “Whoever set it up” is not a role and does not constitute accountability.

Review the audit log

The audit log only protects people if someone reads it. Schedule a periodic review. Use audit?target= for any person who asks.

Keep the admin set small

Admin can read every salary and change every disclosure setting. Limit admin role assignments accordingly, and audit who holds it.

Rotate service tokens

Service tokens are admin credentials. Treat them with the same rotation schedule as other privileged credentials. Leaked tokens are leaked admin access.

Separate key and database backups

Store the encryption key and the database backups in different places. Together they are the payroll file. Separately, neither is.

Produce a legitimate interests assessment

Document the balancing test before deployment, and revisit it if the configuration changes in ways that increase individual monitoring.

Data residency

The processing happens wherever you run MeetCost. There is no vendor-operated endpoint, no sub-processor, and no international transfer introduced by MeetCost itself. Directory and attendance reads go to your own tenant of Google, Microsoft, or Zoom — systems you already use, under the transfer arrangements you already have with them.
See Privacy for the connection-by-connection detail of every outbound call MeetCost makes, and server/tests/test_no_egress.py for the test that enforces these claims on every commit.