groundskeeper.rsjsoftware.com / Security and trust

Security and trust

Groundskeeper — 30 October 2026

The short version: Groundskeeper runs on your own Windows server and only reads from your systems; it never changes them. A small, listed set of things leaves your network, each for a stated reason. Releases are code-signed and the server checks the signature before it installs an update. RSJ Software is one person, and Groundskeeper has not had an independent penetration test or a security certification. This page sets out what is done, how it is checked, and what is not done yet.

Who builds it, and how

RSJ Software Ltd is a one-person company. Groundskeeper is written with AI coding tools, under rules that are enforced by the tools rather than left to good intentions:

None of this replaces an independent security test. It is what one person can do, done every time.

What runs where

Read-only by design

Groundskeeper observes; it does not act. Its connectors only read from Microsoft 365, your firewall, switches, backups and the rest, and they are built and reviewed on that rule. To be precise, this is a design rule that every change is reviewed against. Nothing in the software technically stops a connector from writing. We recommend giving Groundskeeper read-only accounts and API keys wherever your systems offer them. Then the guarantee does not rest on our code.

What leaves your network, and why

WhatWhenWhat is sent
Licence check to api.rsjsoftware.comOnce a day, and when the service starts. On by default, including on the free Community edition.The licence key, the Groundskeeper version, a random install ID, the school’s details as set in Settings (name, URN, postcode, local authority, phase, type, trust, and the colour chosen for the interface — all public information) and the names of the connectors that are switched on. It sends no settings, passwords, device names, users or alerts. A paid licence keeps working for 7 days if the check cannot get through.
Update check to GitHubHourly, daily or weekly (your choice).A request for the latest release. It sends nothing about your school; GitHub sees your server’s internet address.
Software advisory list from groundskeeper.rsjsoftware.comWhen newer lists are published. On by default; can be switched off in Settings.A plain download of a public file, with no identifier. The list must carry a valid digital signature from RSJ, and an older list is never accepted in place of a newer one.
Community key requestOnly when you ask for a key.The contact details you type in and the school’s identity.
Cloud AI (OpenAI, Claude, Gemini, Azure)Only if you choose a cloud AI provider. The default is Ollama, which runs on your own server.Summaries of recent alerts. Before anything is sent, email addresses, internet and network addresses, user and computer names in the usual forms are removed. Treat this as reducing the risk, not removing it: a name typed into free text can still go out.
Email and chat alertsOnly if you set them up.Alerts, to the mail server or webhook you configure.
Early-test reports to RSJOnly on the Alpha (pre-release) update channel, which schools are not on by default.“Report to RSJ” and page-error reports, and (only if you tick it) the day’s log with names replaced by codes that cannot be reversed without a key that stays on your server.

The connectors talk to the services you connect them to (your Microsoft 365 tenant, your Meraki dashboard and so on), using the credentials you give them. That traffic goes to those services, not to us.

Installers and updates

Signing in, and protecting what is stored

The agent on your PCs

What we have not done yet

Reporting a security problem

Please email security@rsjsoftware.com rather than posting publicly. Our security policy sets out what to include, how quickly we respond, and our target times for fixes by severity. We do not take legal action against good-faith research. There is no paid bug bounty, but we credit reporters who would like it.