# Perishable > Ship AI features without shipping your API keys. Perishable is a self-hosted Node proxy plus a browser SDK that lets client-side apps call OpenAI-compatible APIs without exposing the upstream key. Built-in fingerprinting, entropy collection, short-lived JWT sessions, per-fingerprint rate limiting. Perishable is a Skelf-Research project. MIT licensed. Published on npm as `perishable`. Source at https://github.com/Skelf-Research/perishable. ## What it actually is - A Node process. Start with `npx perishable-proxy`, or embed via `new server.PerishableServer({…})`. - A browser SDK (`client.PerishableOpenAI`) that collects entropy, requests a session, refreshes it before expiry. - An OpenAI-compatible request surface. Works with OpenAI, Anthropic (via `OPENAI_BASE_URL`), OpenRouter, Ollama. ## What it is not - Not a hosted service. There is no Perishable cloud. - Not an observability or analytics layer. - Not a per-user auth system. - Not bot-proof — it raises the cost of casual abuse, not the cost of a determined attacker. ## Docs - [Home](https://perishable.skelfresearch.com/) - [About](https://perishable.skelfresearch.com/about) - [Notes](https://perishable.skelfresearch.com/blog) - [Compare: Portkey](https://perishable.skelfresearch.com/compare/portkey) - [Compare: Cloudflare AI Gateway](https://perishable.skelfresearch.com/compare/cloudflare-ai-gateway) - [Full docs](https://docs.skelfresearch.com/perishable/) - [Source](https://github.com/Skelf-Research/perishable) - [npm](https://www.npmjs.com/package/perishable) - [llms-full.txt](https://perishable.skelfresearch.com/llms-full.txt)