What is built and what is not yet.
In development. You cannot use pro2desk yet.
15 of 32
- work packages merged as code
- None of it in operation
Five parts and where they stand
The 32 work packages are the first slice for real operation: from signing in to the immutable invoice.
What the three signs mean
- Built
- Merged and checked on one machine. Not in operation.
- Designed
- Drawn as a screen or described. Its core is not built yet.
- Planned
- Decided, not begun.
-
Tenant-safe dataBuiltFour barriers hold for every row and every route: workspace, unit, role, person.
41 capabilities stand in a closed registry: 36 of the workspace, 5 of the person. The database enforces row-level security; no role of the application may bypass it.
What somebody may not know answers like an invented id: “not found”. A matrix checks this for every route with 14 actors.
-
One way for every changeBuiltEvery change is a command: authorized, repeatable without a second effect, with a receipt.
The same command with the same key returns the same receipt, byte for byte. The events of a command are written in its transaction: if it is rolled back, they have not happened either.
A limit today: if the newest entries of the audit chain are removed together with the counter, nobody notices. An anchor outside the database is still missing.
-
Without signalDesignedThe phone will remember every action and send them later, in their order.
Built is the way for every change on the server. The sync routes, the part on the device and the upload of photos are still missing.
No ready-made sync software is used: every change is to pass the same check of permissions.
-
Documents and e-invoicePlannedOne program for every paper, our own code for the e-invoice, a public validator in the tests.
Every paper becomes a PDF/A-3 with the invoice file attached. Which e-invoice profile applies is for legal counsel to say.
There is no code for this yet, and no validator has run.
-
Limits for LotPlannedA gateway of our own in front of every model. Models only from hosts in German hands, with no silent switch.
The hosts process in Germany. If one fails, nothing switches silently to another provider or another country.
Without a model the work stays possible: the first product does without a model.
See Lot
A conflict stays visible.
If the phone and the office change the same value, both will stand there until a person decides. Nothing is overwritten silently.
Designed

What it is built with
Four layers are settled. Three decisions are still open.
-
Web
DesignedOne web app on a shared kit
-
Phone
PlannedShells around the same web app
-
API and worker
BuiltOne module; the contract comes before the code
-
Database
BuiltRelational, with enforced row-level security
Three open decisions
-
Sign-in
Under reviewThrough OpenID Connect; which service is under review
-
Hosting
ProposedOne data centre in Germany
-
Payments
ProposedOne payment service; each firm is the merchant itself