Consolidation of record
Scattered tools, spreadsheets and message threads reduced to a single system of record your team actually works inside — with the migration and the cut-over handled, not left as homework.
Centralux centralizes scattered small-business operations into one system — quote to cash — built single-tenant, provenance-gated and auditable, so every number on the screen can be traced back to the record it came from. Production software, not slide decks.
On the left, what an operation is carrying before we arrive. On the right, what gets posted in its place. Nothing in the right column is a feature — each one is a property of the system that has to hold, or the work isn’t finished.
Why the ledger framing. Most buyers of AI work have already been sold a demo that didn’t survive contact with their real data. A ledger is the oldest trust technology we have: entries are numbered, balanced and hard to quietly edit. That is the standard this practice holds itself to, and it is the standard this website is built to.
Most engagements start with one and grow into the next. They are listed separately because they are scoped and priced separately — not because they are four different products.
Scattered tools, spreadsheets and message threads reduced to a single system of record your team actually works inside — with the migration and the cut-over handled, not left as homework.
Estimate, approval, schedule, invoice, paid — on one path, with an audit trail at every hand-off, so the money side of the operation stops depending on someone remembering to follow up.
Ask your own business questions in plain language and get answers assembled from your own records, each one carrying the rows it was built from. When the data isn’t there, it says so.
Isolation, provenance, auditability and reversibility, engineered as the foundation the other three stand on — and available on its own when an existing system needs it retrofitted.
These are not values on a wall. Each one is a constraint on the architecture, decided before the first line of code, and each one costs something to keep. That cost is the point — it is what makes the resulting system checkable.
One tenant per client. Separate database, separate credentials, separate storage. There
is no shared table with a client_id
column doing the security work, because a single missing filter in a single query is all
that stands between that design and a cross-client leak. Isolation at the infrastructure
layer removes the class of bug rather than defending against it.
Anything a language model produces for you arrives attached to the records it was drawn from. If the retrieval step comes back empty, the honest answer is returned — the system is built to say I don’t have that rather than to compose something plausible. A confident wrong number is more expensive than no number, because you act on it.
Consequential writes go to an append-only trail: what changed, when, from which source, under which credential, on whose instruction. Automation without an audit trail is a system nobody can be held to. With one, a disputed invoice is a lookup instead of an argument.
No lock-in by construction. Your data lives in accounts you own, in open formats, exportable on demand and at the end of any engagement. Irreversible actions — sending, charging, posting to your accounting system — sit behind an explicit confirmation, never behind a model’s judgment call.
Priced per phase, agreed in writing before anything begins. No hourly meter, no open-ended discovery, no annual platform contract to escape from later.
A Survey that concludes you should not build anything is a successful Survey. It is cheaper than the alternative, and it happens.
A marketing site is the easiest document in a company to quietly change. So this one publishes a check on itself: at the bottom of every entry, your browser computes a SHA-256 digest of that page’s visible text and prints it. Nothing is sent anywhere — the calculation happens locally, in your machine, using the browser’s own cryptography.
The digest below this entry covers the whole book: all six pages are fetched, hashed individually, and their digests hashed together in folio order. Change one comma on the terms page and the book digest changes. It is a small gesture, and it is the honest version of the claim the rest of this site makes — we build systems whose contents can be checked, so here is ours, checkable.
| Folio | Entry | Contents | SHA-256 (first 16) |
|---|---|---|---|
| 01 | Statement of PositionYou are here | The thesis, the two columns, the four covenants, the engagement model. | — |
| 02 | Schedule of Services | Four service lines in full: what each is, what you receive, how it is delivered, where it fits. | — |
| 03 | The Firm | What the company is, where it operates, how it charges, and what it refuses to do. | — |
| 04 | Correspondence | Business contact record, booking, and exactly what happens on a discovery call. | — |
| 05 | Covenant of Privacy | What this site collects (almost nothing), who processes it, and how to have it removed. | — |
| 06 | Articles of Engagement | Terms of service: engagement, fees, credentials, intellectual property, liability, governing law. | — |
How to reproduce it.
Take the <main> element of this page, read its textContent,
collapse every run of whitespace to a single space, trim the ends, encode as UTF-8, and take
the SHA-256. The book digest is the SHA-256 of the six entry digests concatenated as
lowercase hex in folio order.
Computed with crypto.subtle.digest, the browser’s own implementation. The
footer is deliberately outside <main>, so printing the result cannot
change it.