One account, every product
A single Reichmann ID signs you into everything we make. No password per app, no separate silos, no registering again next time. Sign out in one place and you are signed out everywhere, on the next click.
Dachshund handles the things every piece of business software needs and almost none of them get right: who you are, what your company pays for, how the software reaches your machines, and how you get hold of a human when it goes wrong. We built it first, so that no product we ship ever has to solve those badly under a deadline.
A bookkeeper leaves a four-person firm. Two months later somebody works out that she is still the registered owner of the accounting licence, the renewal invoice is going to an inbox nobody can open, and the installer everyone uses was a link in an email she took with her. Nothing was stolen. The company simply never held its own software in its own name.
That happens because each package a business runs keeps its own list of who works there, its own idea of what has been paid for, its own login and its own invoice. Nobody owns the join between them, and the join is exactly where access outlives employment and where money goes quietly missing.
Dachshund is our answer to that gap, for the software we make. It is not an application you open. It is the layer underneath the applications, and it holds four things.
Who you are. One account across every product, so your bookkeeper does not keep six passwords. What your company holds. Subscriptions belong to the business, not to whoever happened to sign up, and you can see exactly what you have and until when. How software reaches you. Releases are signed, and the machine that receives one checks the signature and the bytes before anything installs. How you get help. Support lives inside the product, and it ends at a person.
Solving those four once, properly, is the whole idea. The first product standing on it is Lumarix, an ERP for small and mid-sized South African businesses, and it is open and in use. It started on a foundation that had already been broken on purpose and repaired, not one assembled in a hurry because the real work was somewhere else.
Each of these is a thing a business notices when it is wrong, and never thinks about when it is right.
A single Reichmann ID signs you into everything we make. No password per app, no separate silos, no registering again next time. Sign out in one place and you are signed out everywhere, on the next click.
Subscriptions are held by the business, not by the person who happened to sign up. When they leave, the licence does not leave with them. You can see exactly what you hold, and the date it runs until.
Your licence is a signed document your software carries. If the connection goes, or the power does, it keeps working for a bounded stretch on what it already holds. Move the clock backwards to stretch it and it refuses.
Think of a sealed courier bag that refuses to be accepted if the seal has been broken. A release is signed by the studio, and before anything installs, the receiving machine checks that signature and re-weighs the bytes that actually arrived. If they do not match what was published, it shows you both figures and installs nothing.
Invoices numbered in an unbroken sequence, amounts held in whole cents so nothing rounds away, and payment reminders frozen exactly as they were sent. Paying later changes what you owe. It never changes the record of what you were told.
Chat from inside the product. An assistant handles what it can from documentation we control, and hands you to a human the moment it cannot. Never a bot dressed as a person, never a person dressed as a bot.
This was written in the future tense until August 2026, when a real product started doing it. Every step below is built, passes its tests on every change driven by a real browser, and now runs under Lumarix, not only under a test.
These are properties of the platform, not habits of ours. The eleven checks that hold them in place are named individually on the standards page.
Who may see what is enforced by the database itself, not by a check inside a screen. A bug in a page cannot show your data to somebody else's company, because the page was never the thing holding the line. The list of code that is allowed to cross that boundary is fixed, named and counted, and adding one more breaks the build until we have said out loud why it exists.
Every action leaves a record of who did it and when, on a chain that detects its own tampering. Nothing can edit or delete an entry, including us. Where the law requires content to be removable, removal takes the content and leaves the fact permanently: the message body goes, and a marker saying it existed and was removed stays for good.
Payments are settled under a lock that makes a double application impossible rather than unlikely. The books are then reconciled to the cent at the end of the four stress tests and the browser journey where that kind of error would hide, including two payments landing on one invoice at the same moment. A single unaccounted cent fails the run. Amounts are held as whole cents, so there is no rounding for anything to hide in.
The support assistant, the only one a customer ever meets, can answer and escalate. It cannot change anything, because the code it runs inside can reach exactly one thing that writes, and that one thing is its own record of the conversation. A prompt saying "take no actions" is a comment. Code that cannot reach one is a wall. The tests for this hand it an attacker's script and assume it obeys, then check that not one of the sixteen tables that can carry an action moved by a single byte.
One so far, and it is open. Each product gets its own page, saying what it is and where it stands.
An ERP for small and mid-sized South African businesses: what you buy, what you sell, what you owe and what the books say about all of it. It inherits its account, its licensing, its updates and its support from the platform instead of building any of that again. Open, priced, and running today.
Read about Lumarix
We build this in numbered phases, and a phase does not close until every check is green and we have sat down and driven the thing ourselves.
We built eleven checks and eighty-eight planted faults because the only version of this worth building is one that carries other people's records for years without losing any, and that version has to be right before the first customer arrives. That work was done in advance, and it is the reason Lumarix could open on top of it.
If you came here about client work, not the platform, the useful version is this. What travels to your project is not Dachshund itself but the habits that building it forced on us, and the standards page sets out which of those reach a three-week website and which do not.