Cavor Desk — first module ready · for technical maintenance and service companies
PlatformModulesSecurityWhy CAVORStoriesContact
Margin OS
Where margin is lost

Margin is lost between decision and work. Not in the estimate.

Construction and building maintenance firms lose margin because information arrives after the work. Desk records the ticket, photo and deadline with a date nobody overwrites — time and margin come next.

Cavor Desk — first module, live today · tenant isolation at the database level
Desk
Time
Projects
Shared data spine · tenant_id · cost codes
Organization → Objects → People → Tasks → Costs — one model, all modules
Product of Veles Digital · processing in the EU
Microsoft 365 isn't seven apps. It is one account — with applications.

CAVOR works the same way. You buy one module or the entire suite, but the spine is shared: one login, one organizational model, one isolation boundary. If modules are silos, you get seven worse versions of tools that already exist. The point of all-in-one is that modules talk to each other.

// 02 — Modules

One platform. Sequence, not chaos.

Cavor Desk is live. Cavor Time is being built on top of it. Both lead to the one place where the numbers become margin.

— issue reporting and service

Facility management: issue reporting via QR, service management, issues raised from the site. A site user reports without an account — two-step form, GDPR-compliant.

See Cavor Desk →
Live

— time tracking and field reportsavailable 2027

Time tracking and daily field reports. Builds the man-hours dataset powering the margin engine in Projects.

Ask about early access
Under construction

— schedules, cost codes, margin

Where Desk and Time end up: schedules, cost codes, planned versus actual margin. Desk records what happened, Time what it cost in hours, Projects turns both into margin.

Where this leads
One login, one organizational model, one isolation boundary — whichever module you start with.
// 03 — Priority #0

Your competitor will never see your rates.

Every table is partitioned by client. No feature in this system crosses that boundary — and we didn't build one, deliberately. Enforced in the database, not in the application.

Row-Level Security in PostgreSQL · tenant_id on every table · EU region (Frankfurt)

01

Database-level RLS

A bug in application code does not open another client's data. Isolation lives under the app, not inside it.

PostgreSQL · RLS
02

Zero cross-company aggregation

CAVOR never pools data between companies. Industry benchmarks ruin adoption — so we don't have them. Not by goodwill: architecturally impossible.

per-tenant · no cross-join
03

EU + separate clause

Processing stays in the EU (Frankfurt). A separate contract clause protects commercial data — margins, costs, pipeline — beyond GDPR.

EU processing · GDPR+
A provision won't survive investor pressure: 'you sit on a goldmine of data, monetize it'. Architecture will.
// 04 — Data Spine
Man-hoursProject marginCC-100
Material usedProject costCC-220
TasksWorkloadCC-210
InvoiceProject costCC-340
Won tenderBudget baselineCC-050

Modules that talk.

The Cost Code System is the identifier of data flow between modules. A man-hour logged in Time becomes a margin in Projects. An invoice becomes a cost. Antipattern — every module with its own login and DB — will never connect. That is why we build the spine once and protect it.

// 05 — Why CAVOR

Three questions before you let us near your costs.

A

We know this work

We know construction and FM from the inside. You will hear it in the first call — nobody has to explain a quantity takeoff or a cost code to us.

B

One module at a time, each one paid for

We build a foundation, not twelve silos at once. Desk first, because that is where work enters the company — the rest only makes sense once it does.

C

Your costs feed your own estimates

Costs, margins and man-hours accumulate across every module. That history is yours: you price the next job on your own rates, not on an industry average.

// 06 — Before you write in

Not everyone should write in.

Who this is for
  • Information comes back too late.

    You build or maintain buildings, and you find out what went wrong back at the office, after the fact.

  • Right now it's a spreadsheet and a group chat.

    Your service work runs on Excel, a messaging app, and a whiteboard — that is the real competitor, not another system.

  • Inspection records are a requirement.

    Inspections have to be documented, not just done.

  • Your rates stay yours.

    You don't want your margins ending up in a shared database with your competitors.

Who it isn't
  • You need the full set today.

    One module is live, the other is still being built — if you're counting on everything right now, it isn't time yet.

  • Price is what decides it.

    We don't compete on price.

  • You have one technician.

    At that scale a spreadsheet genuinely still works — there is nothing to replace.

  • You expect it live next week.

    Full 24/7 support starting next week isn't this product.

// 07 — FAQ

Questions and answers.

Briefly: data isolation, which module to start with, how a fault gets reported from site, and the costs that never show up in a price list.

Will another company see my margins and costs?

No. Isolation is enforced in the database by Row-Level Security on every table, not in application code — a bug in the app does not open another company's data.

Does my data end up in industry benchmarks?

There are no benchmarks. CAVOR never pools data between organizations — not out of goodwill, but because the architecture does not allow it.

Where is the data stored, and what about GDPR?

Processing takes place in the EU (Frankfurt). The infrastructure providers are US-domiciled companies operating EU regions. Beyond GDPR, a separate contract clause protects commercial data: margins, costs and pipeline.

Do I have to buy every module at once?

No. You start with one — the spine is shared either way: one login, one organizational model, one isolation boundary.

Which module should I start with?

Cavor Desk, in almost every case — it is the one that is live, and it is where work enters the company. The foundation (isolation, the data model, cost codes) comes with it.

How does a site user report a fault without an account?

Through a QR code and a two-step form, with no account to create. The report lands in Cavor Desk and the data is handled under GDPR.

When will the remaining modules exist?

Cavor Time is under construction, expected in 2027. Cavor Projects is where both of them lead — no date, because we would rather ship Desk and Time properly than announce a calendar.

How is this different from a spreadsheet?

A spreadsheet does not force anyone to confirm that the information arrived before work starts. Either a person closes that loop or nobody does — and the margin goes in the gap between decision and execution. CAVOR closes it structurally.

Do you understand my trade?

We know construction and FM from the inside. You will hear it in the first call — nobody has to explain a quantity takeoff or a cost code to us.

What do you need from me, and how long does it take?

Thirty minutes and one thing from your side: an example of a job that went wrong this month. We run Cavor Desk on that — not on our demo data, because on our data everything always works. If we conclude your process is fine and there is nothing for us to fix, we will say so. We would rather lose a demo than a bad rollout.

What does not having this cost?

In our cases from the field, a single information gap cost between roughly 4,800 and 18,000 PLN. The amounts are samples — put your own project rates in.

Build cost control for your company.

Start with the module that hurts most. The foundation — isolation, data model, cost codes — is included with every module.

No strings attached · processing in the EU