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.
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.
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.
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.