The books
Ledger
Double-entry accounting for money, credits and stock. It keeps our books and is the service we sell.
- Built on
- Auth, PostgreSQL
- Data available as
- CSV and JSON
How we run
Our books, specifications, bill of materials and SBOM, commercial record and email all run on systems we wrote and operate. The platforms we sell run the company first. A release that would break a set of books breaks ours before anyone else's.
Comparison
We run the systems behind these records ourselves and are accountable when a record is wrong.
| Concern | Usually bought in | We run |
|---|---|---|
| The books | An accounts subscription | Ledger |
| Specifications and change control | A hosted issue tracker | Tracker |
| Bill of materials and SBOM | A spreadsheet, if anything | Provenance |
| The commercial record (CRM) | A sales subscription, separate from the accounts | Trace |
| Documentation and runbooks | A documentation subscription | Knowledge base |
| Company email | A mail and office subscription | Webmail |
All the systems above are built, deployed and running on databases of their own. Checked 2026-09-09.
The systems
Our systems cover one concern apiece, sign people in through our own identity service and export data in open formats from separate databases.
The books
Double-entry accounting for money, credits and stock. It keeps our books and is the service we sell.
Specifications and change control
Changes to our repositories start with a written specification and a ticket, and close with a note of how they were verified.
Bill of materials and SBOM
An asset register for the hardware, an SBOM for every software release we ship, and security findings tracked against both.
Open Provenance Provenance product page Sign-in required
The commercial record (CRM)
Customer relationship and revenue records, reconciled against the ledger.
Open Trace Trace product page Sign-in required
Documentation and runbooks
Documentation for the platforms on the estate, including the runbooks for our services.
Open Knowledge base Sign-in required
Company email
A mailbox interface over our own mail platform that keeps company correspondence on infrastructure we operate.
Open Webmail Sign-in required
Inside
Four screens from Provenance: the hardware asset register, the evidence pack organised by control reference, the findings table with VEX positions, and the component explorer.
Build or buy
For most of these systems, buying one in would make little sense.
The ledger that keeps our books is one of the products on this site. Paying someone else for an equivalent would be odd, and running it ourselves shows us what a release does to a working set of books.
We wanted a component inventory and security findings for our own estate in CycloneDX, SPDX and VEX, under our own control, and built a register to hold them.
Everything above runs on PostgreSQL, FreeBSD, Python, OpenID Connect and Publicly trusted TLS. We write the application layer but not our own databases, operating systems or cryptography.
A company that runs its own systems has to cope with the people who built them being away. Our repositories have runbooks, and changes have a specification and a ticket that records how they were verified. Database migrations are stored inside the database they manage and survive a restore with it. We test restores end to end, and a published topology describes the whole estate.
Dependencies
The rows show a concern, the system that handles it, and the platforms from our own catalogue that it runs on.
The books
Ledger
Auth, PostgreSQL
Specifications and change control
Tracker
issuedb-cli + EARS, Identity
Bill of materials and SBOM
Provenance
Auth, PostgreSQL
The commercial record (CRM)
Trace
Ledger, Auth
Documentation and runbooks
Knowledge base
Auth, TokenGate
Company email
Webmail
RODMENA Mail API, Identity
The right-hand column comes from our own product catalogue. We use the platforms we sell to invoice, ship and keep our records. See how the platforms fit together.
We can take you through any of these systems, or send the topology, policies and capability statement for your procurement pack.