Palimpsest Get in touch

How it works

The path of your keystrokes is the secret, not the final string. The full technical description of Palimpsest — what it does, what it is made of, and what state it is in.

The premise

Two people who both end up with hello in a password field have different credentials if one typed it straight through and the other typed hellp, backspaced and typed o. Palimpsest captures the full ordered edit stream, canonicalises it into a deterministic transcript, and uses that as the credential.

The repository is honest about its threat model up front: it defends against attacks that see the rendered value, not against an attacker who owns the input path. That caveat is the first section of the specification, not a footnote.

What is included

Ordered keystroke edit stream canonicalised into a deterministic transcript

Characters typed and deleted never appear in the field but remain part of the secret

Threat model stated up front, including what the scheme explicitly does not defend against

How it is built

Palimpsest is built on Specification and Cryptography.

It is maintained in a private repository; its history is not published.

The method behind it

Every project here starts as a written specification, and the specification stays authoritative once code exists. The repository keeps a build plan with live status, an append-only decision log recording where the implementation departed from the plan, and a handoff document describing the true current state — including the parts that are not finished.

That is why a portfolio this wide is not a shallow one, and it is why this page can describe the product without overstating it.

Current state

Specified. Designed in full, build not started.

The source is private. What this page claims is checkable against the product itself, not the repository.

Next

Build Palimpsest

The design is finished. Ask about implementing it, funding it, or taking it somewhere else.

This is a pre-production site. All content is subject to finalisation, and nothing stated here is binding until the site is live.