Roadmap

What ShiftMask does, and what comes next

No dates. A date we miss is worth less to you than an order we keep.

This page is ordered by what we intend to build next, not by what sounds most impressive. Anything in Working today is in the product you can buy right now; everything below that is intent, and intent moves when customers tell us it should. If something you need is missing, tell us — that is how this order changes.

Working today

In the current release

Excel and CSV, with the relationships intact

ShiftMask reads your workbooks, detects primary and foreign keys to work out how the tables connect, and lets you correct that map before anything is written.

Consistent stand-ins across every file and every run

One customer stays one customer — in every table, and in the project you come back to next month. That is what makes joins survive.

One shared date offset

Every date moves by the same amount, so intervals hold and time-based measures return the same shape. This is the specific failure that random date replacement causes and that we set out to avoid.

Putting the real values back

When an AI tool hands you a result built on masked data, ShiftMask substitutes the real values back into it. Deliberately, it does not reverse the date shift or the amount scaling: in a file that came back from a model there is no way to tell a scaled amount from a number the model calculated itself, and guessing would corrupt your analysis.

Offline, with no account

No telemetry, no phone-home, no licence server. Activation is offline, and the footer tells you how many bytes have been sent: none. See installing on a machine with no internet.

Next

What we are working on

SQL databases as a source

Point ShiftMask at a database rather than a folder of exports, and let it read the schema — including the relationships you would otherwise have to confirm by hand.

Export to DuckDB

Hand a model a single queryable file instead of a pile of spreadsheets.

Clipboard masking

The gap this closes is the honest one: the risky paste is rarely a whole file. It is three rows copied out of a report into a chat window, at half past five. A masking step that only works on files does not help at that moment.

Reusable per-client dictionaries

Keep the same stand-ins across separate projects for the same client, so work done months apart still lines up.

Later

Under consideration

Audit logging for regulated teams

A record of what was masked, when and by whom — the artefact a compliance review asks for. The design question we have not settled is how to produce it without the log itself becoming a second copy of the thing we are protecting.

A local gateway between your tools and an AI service

Masking applied as data passes through, rather than as a step you remember to run. The appeal is obvious; so is the risk of a component that sits in the middle of everything, which is why it is here and not above.

macOS

Asked for regularly. It is a second build, a second signing chain and a second set of things that break, so it happens when the Windows product is finished rather than alongside it.

What we are not going to do

A cloud version. The entire promise is that your data stays on your machine. A hosted ShiftMask would be a different product wearing this one's name.

A licence server. Checking licences online would break precisely the customers who most need this tool — the ones on isolated networks — to inconvenience the few who would work around it anyway.

Tell you that ShiftMask anonymises your data. It masks and pseudonymises: the map back to the real values is kept, encrypted, on your machine, which is what makes the output reversible and therefore useful. Under GDPR that is pseudonymisation, and the copy you share is still personal data. We would rather say so than sell you a word.