Plinth gathers your own engineering activity (commits, pull requests, meetings, issues and messages) from the services you connect, and presents it per project, so you can see what you worked on without writing a status report. Everything in it is yours: a project shows only its owner's own work, and nobody else sees it unless you share it.
You sign in with Google, with GitHub, or with an email address and password. Signing in
with Google asks only for your name and email address (openid email profile);
signing in with GitHub asks only for your profile and email addresses
(read:user user:email). Plinth keeps your name, your email address and how you
last signed in. It keeps no Google or GitHub token from signing in: connecting a service
for your activity is a separate choice, made in Account settings.
Accounts are by invitation for now: someone must have invited your email address, or it must belong to an organisation Plinth is set up for.
Every connection is authorised by the person it belongs to, can be disconnected at any time, and reads only what is listed here.
| Service | What is read |
|---|---|
| GitHub | Commits, pull requests, reviews and deployments in repositories you register to a project: author, title, an excerpt of the description, timestamps, lines changed, branch. GitHub's repo permission is the only one that reaches private repositories; it would allow writing, and Plinth never writes |
| Google Calendar | Your own primary calendar, read-only: meeting title, start and end time, organiser, attendee addresses. Declined invitations and all-day entries are skipped |
| Google Meet | When you joined and left a conference. Nothing about anyone else's attendance is kept |
| Google Docs and Meet files | Only if you turn them on: the notes and transcripts Google Meet attached to your meetings, read-only, for the meetings you opt in (see below). Plinth's Drive access is limited to files Google Meet created and cannot see your other documents |
| Jira | In the Jira projects you link: issues you created, were assigned, commented on or moved, with their type, status, priority, story points, sprint, and excerpts of your own descriptions and comments. Nobody else's comments or changes |
| Slack | The channels you are in, and the message history of the channels you link to a project. Your own messages are part of your activity; other people's messages in those channels are kept for you alone as context and are never shared or summarised. No direct messages |
| Calendar feeds | Any published .ics URL you add yourself |
| Claude Code, Codex CLI, Gemini CLI | From your own machine, and only for repositories on your projects: session counts and timings, each session's short title, the names of files it touched within the repository, and short excerpts of your prompts (the first 500 characters of up to 20 a day, with keys and passwords replaced; you can switch these off per machine). Never the assistant's replies, tool output, or anything outside the repository |
Plinth makes two changes in connected services, each only when you ask for it:
Nothing else is ever created, changed or deleted in a connected service.
Where a meeting has automatically generated notes, they can be used to write a period summary and to suggest action items; where it has a Google Meet transcript, it can be turned into evidence of your own work for you to review. Either happens only if the person whose meeting it is turns it on for that specific meeting (or for its whole series). Both are off by default for every meeting, and a meeting marked personal is never eligible.
Notes and transcripts are separate choices. Allowing a meeting's notes does not allow its transcript, and allowing its transcript does not allow its notes. Turning either off stops it being read from then on.
When transcript evidence is enabled, your own contributions may be sent to the model, each cut to at most 600 characters, once the meeting's transcript is final. With each one, a short excerpt of what was said around it may be included for context: at most one other speaker's turn immediately before it (cut to at most 300 characters), and at most one other speaker's turn immediately after it, and only if it followed within about 30 seconds, as a direct reaction (cut to at most 300 characters). Nothing else anyone else said is sent. Other speakers are not identified: their names, accounts and any other identifying details are used only to tell your words apart from theirs, and are then discarded. Evidence never credits you with something another person said, never treats a proposal as a decision, and never treats a commitment as work done.
Notes are read from Google when they are used; a transcript is read once, when it is turned into evidence. Raw note and transcript text is not stored by Plinth, whether in its database, its logs, or anything it keeps. What is kept: short evidence statements about your own contributions (a sentence each, written for your dashboard, never a quote), which stay drafts that only you can see until you confirm, edit or remove them, and which are kept until you remove them; where each came from (the transcript's identifier and when you spoke); action items you keep; transcript references, meeting metadata such as times and participant counts, and your consent settings; and generated summaries. Nothing about pay, performance, hiring, disputes, health or personal circumstances is carried into evidence or a summary, and speakers are never quoted or named.
Only confirmed evidence informs summaries. Drafts, removed evidence, and responses you didn't share are never used. Evidence from a meeting you marked General is used only in your own summary of your whole dashboard; personal and unassigned meetings are never used. Transcript text never reaches a summary.
Follow-through is yours to state. You can link confirmed evidence to later work of your own (a pull request, a commit or a Jira issue) to say that work followed through on it. Plinth never makes that link for you: it only suggests your own recent work, and nothing is linked until you choose it.
Data is held in a PostgreSQL database hosted by Supabase, served by an application running on Cloudflare Workers. Access tokens for connected services are encrypted at rest with AES-256-GCM and are never returned to the browser. Every table is protected by row-level security, so one person's request cannot read another person's rows.
Plinth uses these processors, and no others:
There is no advertising, and no data is sold or shared with anyone else.
Plinth's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. Google data is used only to show you your own work and the summaries you ask for; it is never used for advertising, never sold, never used to train AI models, and never read by a person unless you ask us to, it is needed for security, or the law requires it.
Activity records are kept while you keep the project, so you can look back across a quarter. There is no separate archive and no backup outside the database itself.
Plinth is a tool for work and is not meant for anyone under 16.
If what Plinth reads changes, this page changes with it, and the date at the top moves. A change that widens what is read requires everyone to re-authorise, so nothing new is collected quietly.