@speakeasy/server
v1.0.2
Published
Server-side request handlers and pluggable adapters (storage, deploy-verifier, content source) for speakeasy confidential content variants. Mountable as connect/Express middleware or a Vite dev plugin.
Downloads
522
Readme
@speakeasy/server
The server side of speakeasy: share confidential content behind unguessable URLs, and revoke it when you're done.
Given a slug, handleLookup returns the curated items for a live variant, or
an identical 404 for anything unknown, expired, or deactivated, so a visitor
cannot tell a dead slug ever existed. You plug it into your own app and point
it at your content and manifest:
createContext(config)+handleLookup(ctx, slug)- the one endpoint you deployspeakeasyAdmin(via@speakeasy/server/vite) - a dev-only Vite plugin that serves the admin API; it never ships to productioncreateAdminMiddleware- the same admin API as connect/Express middlewarecreateGitStorage/createFsStorage- manifest persistence (commit + push, or write to disk), or bring your own{ read, persist }createHttpVerifier/noopVerifier- confirm a change is live before reporting successcreateRateLimiter,clientKey- optional throttle for the lookup endpoint.clientKey(req)trusts the proxy'sx-forwarded-for(correct on Vercel / Netlify / Cloudflare); on a raw host clients can reach directly, passclientKey(req, { trustProxy: false })to key on the socket address instead
npm install @speakeasy/core @speakeasy/serverRequires Node 20 or newer.
Documentation
Full setup lives in the repo. These links are pinned to the tag matching this release, so they always describe the version you installed: README for the overview, INSTALL.md for the step-by-step integration guide (written so a coding agent can follow it), and SECURITY.md for the threat model and its limits.
License
Apache 2.0. See LICENSE.
