Skip to content

docs(ghostkey): bring the page in line with what actually shipped - #101

Merged
sanity merged 1 commit into
mainfrom
ghostkey-staleness
Aug 3, 2026
Merged

docs(ghostkey): bring the page in line with what actually shipped#101
sanity merged 1 commit into
mainfrom
ghostkey-staleness

Conversation

@sanity

@sanity sanity commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Four claims on /ghostkey were describing an older state of the system. Found while sweeping for staleness after this week's delegate changes.

The developer section was a version behind. It said an app "sends a SignMessage request" — which requires knowing a fingerprint before you can do anything, and is the same version-behind problem the skill and the ghostkeys README had. This is the most-read of the three. Now leads with SignWithDefault (no fingerprint, prompts and replays if the app holds no grant) and mentions HasIdentity, which answers "does this user have a Ghost Key" without prompting — the thing that lets an app decide whether to offer a purchase path before putting a dialog in front of someone.

Bundled issuance was on the roadmap. The page said "the missing piece is bundled issuance", which reads as imminent. It is parked. The page now says why rather than leaving a reader to guess: Ghost Keys are principally a CAPTCHA replacement for one-off actions and already do that job, so per-action unlinkability is an improvement, not a prerequisite.

ZK was "the direction we expect Ghost Keys to move in". Also parked, and we now know considerably more than when that was written. Replaced with the measurements: ~400-byte proofs, ~84 ms to verify inside a contract, and the real obstacle being structural rather than speed — contract state is re-validated on every load, so verification has to happen once at admission, which a contract cannot do alone.

Backup advice predated the vault doing anything about it. It recommended downloading a backup as an aside. The vault now marks an identity un-backed-up and shows a one-click download that clears only on explicit confirmation, so the page frames it as the point of the exercise and says plainly that some nodes reclaim idle storage.

Deliberately unchanged

  • The two news posts. Dated announcements with aspirational future-tense, not documentation making claims that are now false.
  • The delegate diagram. Its SignMessage label still depicts a real request; rewriting positioned SVG text for a nuance a diagram cannot carry isn't worth the layout risk.
  • The create page's "Why the amounts are fixed". It says "a short list" without enumerating tiers, so it survives the ladder change in feat(ghostkey): extend the donation ladder to $500 / $2,500 / $10,000 #100 untouched.

Docs only.

[AI-assisted - Claude]

Four claims on /ghostkey were describing an older state of the system.

**The developer section was a version behind.** It said an app "sends a
`SignMessage` request", which requires knowing a fingerprint before you
can do anything. `SignWithDefault` is now the call to lead with -- no
fingerprint, and it prompts and replays if the app holds no grant.
`HasIdentity` is mentioned too: it answers "does this user have a Ghost
Key" without prompting, which is what lets an app decide whether to offer
a purchase path before putting a dialog in front of someone.

**Bundled issuance was described as on the roadmap** with "the missing
piece is bundled issuance". It is parked, not pending, and the page now
says why rather than leaving a reader to infer it is imminent: Ghost Keys
are principally a CAPTCHA replacement for one-off actions and already do
that job, so per-action unlinkability is an improvement rather than a
prerequisite.

**ZK was described as "the direction we expect Ghost Keys to move in".**
Also parked. Replaced with what is actually known, since it has been
prototyped and measured: ~400-byte proofs, ~84 ms to verify in a
contract, and the real obstacle being structural rather than speed --
contract state is re-validated on every load, so verification must happen
at admission, which a contract cannot do alone.

**Backup advice predated the vault doing anything about it.** The vault
now marks an identity un-backed-up and shows a one-click download that
clears only on explicit confirmation, so the page frames backing up as
the point rather than an afterthought, and says plainly that some nodes
reclaim idle storage.

Deliberately unchanged: the two news posts, which are dated
announcements rather than documentation, and the delegate diagram, whose
`SignMessage` label still depicts a real request -- rewriting positioned
SVG text for a nuance a diagram cannot carry is not worth the layout
risk.
@sanity
sanity merged commit 2da21be into main Aug 3, 2026
3 checks passed
@sanity
sanity deleted the ghostkey-staleness branch August 3, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant