CMP42 // PRODUCT // PODMA WORKBENCHTHE ENGINE · ALPHA 2026.10
// Product · The engine

PODMA WORKBENCH.
THE ENGINE.

Not an admin screen beside the product — the place the work happens. A person opens the workbench. An agent opens the tools. Both are looking at the same records.

// The situation

YOUR DATA OUTGREW THE TOOL.

Somewhere past a hundred thousand records, two things happen at once. The spreadsheet still opens the file but stops being a place you can think in. The CRM holds the same data perfectly well and shows you forty rows of it behind a pagination control.

Neither is broken. Both have quietly stopped being useful for what you were actually trying to do, which was to see all of it and change some of it. So the work moves into exports, and the exports move into somebody's laptop, and the version everyone argues about is the one in the attachment.

Podma is the answer to that specific afternoon. The account that set the size of our test →

// Why you get both

NOTHING SKIMPED ON EITHER SIDE.

Most tools make you pick one. The fast one treats compliance as a report you run afterwards. The compliant one is careful, correct and shows you forty rows at a time. Either way somebody in your company ends up maintaining a spreadsheet nobody admits to.

We refuse the trade, and headless is what makes refusing it affordable. There is no interface to decorate, no dashboard catalogue to keep current, no screen for every field somebody once asked for in a meeting. That budget goes into two things instead: how much you can hold and move, and how tightly the rules sit around it.

How any of that is built stays with us — that part is ours, and we would rather say so than pretend there is nothing to tell. What it does for you is on this page, and the numbers behind it are published with the machine they ran on, including the ones that are not flattering.

// What you can do

WORK THE WHOLE LIST, NOT A PAGE OF IT.

The Podma Workbench on screen: a contacts sheet with typed columns for company, job title, country, legal basis and consent date, an Ask line above the grid, and three connected tiles beside it for keyboard, terminal and MCP.
A synthetic tenant, signed in as TEST USER. Real categories, invented data — customer records do not go into marketing material. The figures in the status bar are a working session, not a measurement; those are on the benchmark page.
16,000,000contacts in one sheet, measured on a 2-vCPU machine
millisecondsto reach any one of them
no ceilingon relationships per record (HubSpot allows 50,000)
16,384fields per object (HubSpot allows 1,000 custom)
What you doWhat that gets you
Open a sheet with millions of records and move around itReaching the last record costs what scrolling one screen costs. No paging, no waiting, no exporting to look at the end.
Narrow it down and keep the viewShow, hide, move, sort and filter — then save it as a tab you come back to. A view changes what you see, never what is stored.
Work on a keyboardA command line, every action reachable without the mouse, help that stays out of the way, and dictation through your own operating system. If your hands are fast, nothing slows them down.
See the shape of the business on arrivalA start page that counts: records per object, deals by stage, lists, what changed since you last looked.
Model the organisation as it actually isRelationships between records are first-class and unlimited in number, each with the period it was true for. No form limit decides what you are allowed to describe.
Carry the record past the closeWhen a deal is won it becomes a project, with its own contract, agreement, data categories and retention. What that solves →
Let an agent do the arrangingPoint your agent at the same records over MCP. It can read, filter and arrange. Commands that write or delete values are closed to it, and every write names who made it — a person or an agent.
// Measured, not estimated

SIXTEEN MILLION CONTACTS ON TWO CORES.

A spreadsheet stops a little over a million rows. HubSpot allows fifteen million records per object. We measured sixteen million contacts in a single sheet, on a small two-core machine — and reaching any one of them took milliseconds, with the browser holding about sixteen megabytes.

That second number is the one we would point at. It means the tool does not get heavier as your business grows: the laptop of the colleague who has been with you longest works as well as the one that arrived yesterday.

And the honest half, in the same type size. Work that touches every record takes real time — a full sort of sixteen million is 75 seconds. The overview screen cannot open an account that large yet. One compliance check is slower than it has any right to be. All three are on the benchmark page, next to the good numbers, because that is the only way the good numbers are worth anything.

The numbers, with the limits →

// Compliance where the data is

THE AUDIT QUESTION BECOMES A FILTER.

In a regulated business the expensive question is never "where is the data" — it is "on what basis are we holding it, and until when". Here that is a column you can filter on, not a reconstruction. Each line names the clause it serves.

What the engine does for youClause
Every contact carries why it may be contacted: the legal basis, the consent and when it was given, where the record came from.Art. 6, Art. 7 GDPR
No recipient list exists without a check. A list only comes into being through the sending step, and that step tests every record against your own rules — at any size. Too large a list is refused, and the refusal is recorded.Art. 6 GDPR; §7 UWG as your own rules define it
Every change is attributable: what it was, who or what changed it, when.Art. 5(2) GDPR
A working list carries no names or addresses — only the references it needs.Art. 25 GDPR
A project carries the agreement that governs it and declares whether special categories are involved.Art. 28, Art. 9 GDPR
Overview screens read only what they display, never the personal fields they do not need.Art. 5(1)(c) GDPR
Agents rearrange views; every write names who made it. By command, an agent can only change what you look at — checks, recipient lists, exports and erasure are closed to it. When an agent writes a value, it writes with a person's token, and the change log names the tenant, the person and that an agent made it.—
Removing a record reaches everything attached to it, including data held by add-on modules.Art. 17 GDPR
A deletion reaches the audit trail as well.1 The trail stays verifiable for your auditor while the personal values in it become unreadable.Art. 17, Art. 5(2) GDPR
Retention and legal hold are enforced, not just recorded.1 A deletion is refused while a hold is in place or a retention period is still running.Art. 17(3)(b) GDPR; §257 HGB, §147 AO
Roles decide who sees which field.1 A role can read a contact with the phone number hidden.Art. 25, Art. 32 GDPR

¹ Planned for the next release.

The line about agents is the one that tends to end the discussion in a compliance review, and it is worth saying why: it is a rule in the product, not a paragraph in a policy. An agent arranges what you look at. Every change it makes carries a person's name.

// Two ways in

YOUR TEAM AND YOUR AGENT, SAME RECORDS.

Most teams now have two kinds of worker. People who want to see a list and change things in it, and agents that want to answer a question about it. Give them two systems and you get two versions of the truth.

Here they get one. You open the workbench; your agent reaches the same records through the tools CMP42 generates from your own model. It answers with references to real records instead of a confident paragraph, because it read the records.

What it cannot do is remove anything or decide anything. That asymmetry is on purpose: an agent that arranges a view is useful; an agent that can quietly delete a hundred thousand rows is a liability you will hear about from somebody else.

// What comes next

FUNCTIONS DOCK ON, THEY DO NOT BOLT BESIDE.

New capability arrives as a module on top of the same engine, which matters for a reason that only shows up later: when you remove a person, the removal reaches the module's data too. In most add-on architectures that is left to good intentions.

The first module is channelSENDER, which sends to the lists Podma has already cleared.1 The check deciding who may be on that list is the one described above — so the thing that goes out and the thing that approved it are not two separate promises.

¹ Planned for the next release.

Design Partners get the workbench from day one.

Not a screenshot, not a waiting list — the tool, with your own data in it, and a direct line to the person building it. Twelve companies, six months from October 2026, €6,900 one-time, and your rate stays yours. In return we ask for real use and honest reactions.

→ Apply to be a Design Partner