Skip to content

Trust & transparency

Everything here can be checked by you

Most tools ask you to take their word for it. This page is built the other way round: the numbers are read from this portal's own database as the page loads, and every promise names the code or the automated test that would catch it if it stopped being true.

Measured now

The portal, as it is at this moment

Counted at 14 Oct 2026, 20:03 - not cached, not rounded up, and not written by the marketing department.

Tools live right now 0 Passed every check and shared with somebody
Audit runs recorded 0 0 of them refused a tool
Grants in force 0 Across 0 team(s) and named people
Log entries written 2 None of them editable, by anybody
Shares in force 0 Each with its own rights and end date
Active accounts 1 1 on the 7-day demo, 0 subscribed
Checks switched on 6 Run in order on every upload
This page's figures Live Counted at the moment you loaded it

The promises

Six things we will not get wrong

Each one is a property of the design rather than a commitment to try harder - and each names where to look.

0 public addresses

Tool files live outside the web root, so no address serves one. Asking for /private_tools/ answers 404 - see PrivateStorageTests.

0 editable log rows

The audit log is insert-only: the admin refuses add, change and delete, including for a superuser.

5 gates per open

Signed in, granted, plan covers it, fingerprint unchanged, tool sign-in possible - all five run before a single byte is read.

240 automated tests

Run with 'manage.py test portal'. 67 of them cover team sharing: codes, teams, rights, policies and the log.

0 background workers

The audit runs inside the upload request, so there is no queue to go stale and a tool is never live before it passed.

Full export, always

An account downloads everything held about it as one JSON file, and the whole workspace can be exported as CSV - log, tools, teams, accounts and shares.

Getting things out

No lock-in, in either direction

Your tools, your log and your people come out as files, a calendar feed, a signed webhook or an API call. Nothing here needs an account with anybody else.

How to verify any of this

Four checks a technical reviewer can run today

1. Tool files have no address

Ask the site for /private_tools/ and for any file name under it. Both answer 404: the folder sits outside the web root, and no URL rule mentions it.

2. The log cannot be edited

Open the admin as an administrator and try to change or delete a log entry. The buttons are not there and the views refuse: the log is insert-only.

3. Health, from your own monitor

Poll /healthz - plain JSON, no secrets - and watch it report the database, both private stores, the audit rules and the last audit run.

4. The tests are the contract

Every promise here is backed by an automated test. The suite runs with manage.py test portal, and FINAL_REPORT.md records what each run proved.

Recently shipped

Full changelog
v2.1 September 2026

Integrations and credibility

Everything a client needs to check the portal for themselves.

  • A Trust page that measures the portal live instead of describing it
  • CSV exports for the audit log, teams, tools, accounts and any share
  • An ICS calendar feed of access end dates, for Outlook and Google Calendar
  • Personal API tokens for scripts and tools, hashed at rest and revocable
  • Signed outbound webhooks with a delivery log, so alerts reach Slack or Teams
  • Global search across tools, teams and people
  • A refined design system: hairline surfaces, tabular numerals, one button set
v2.1 September 2026

The demo, and audience rights

Seven days of everything, then a plan - and rights that manage people, not tools.

  • A 7-day demo on every new account: every published tool, no card
  • When the demo ends, access ends - and nothing is deleted
  • Only an administrator adds, edits, archives or deletes a tool
  • Share rights are about the audience: share further, manage rights, see the log, remove access
  • Running a team is a subscriber's feature; staff can always do it
  • Public trust page, changelog, health check and API documentation
  • CSV exports, an ICS feed of access end dates, and signed webhooks
One more thing. If a claim on this page is ever wrong, that is a bug - and the changelog is where the correction appears.