Hype StackHypeStack

Security

You are about to let a command line tool, and possibly an AI agent, write files into your project. That deserves a straight answer about what it can reach and what leaves your computer.

Short version: the code runs on your machine, it only installs files from our own catalog, and your source never comes to us.

Who is behind it

Hype Stack is built by BetterTyped, which has been shipping open source for years.

ProjectWhere it is used
react-zoom-pan-pinchAround 1.8 million downloads a week
HyperFetchTyped API framework, used in this stack too
BetterTypedThe org, close to 2 million downloads a week

The starter itself is public at github.com/BetterTyped/hype-stack. Public code, public issues, and a track record you can read before you trust anything here.

Your code stays on your machine

The CLI is a local program. It downloads packs from our API and writes files into the folder you point it at. It does not upload your project, read files outside that folder, or keep a copy of anything you write.

Once a pack is installed, your app has no runtime link to us. It does not call our servers and it does not import our packages. Delete the CLI and everything keeps running.

What it can install

Only what is in the Hype Stack catalog. There is no flag, prompt, or agent instruction that makes it fetch a random repository or a package someone posted online.

A pack is source files plus a manifest that describes the edits to make: which routes to register, which environment variables to add, which Prisma models to merge. Those edits are applied by our code reading that description. A pack cannot ship a script that runs on your machine.

The CLI does run a few commands, and they are the same fixed list every time:

CommandWhen
pnpm installRight after a new project is scaffolded
pnpm add <packages>For the npm packages a pack declares it needs
docker compose up -dOptional local database, only if you say yes
prisma migrate / codegenOptional, only if you say yes

The MCP server is more restricted, not less

When your editor drives the CLI through MCP, the Docker and database steps are switched off entirely. The tools hand those commands back to you as text so you run them yourself. An agent cannot start containers or migrate a database on your behalf.

It will not overwrite your work

If an install would land on a file you already have, it stops and shows you the list instead of writing over it. You decide what to keep. Everything that does get written lands as a normal change in your repository, so you can read the whole diff before you commit it.

What we log

Three events, and only these three:

EventWhen it fires
project_createYou scaffold a new project
pack_downloadA pack is downloaded
template_installA template is installed

Each one records the pack or template name, whether it was free or paid, your CLI version, your operating system and Node version, whether the request came from the CLI or the MCP server, and a device id. If you are logged in, it also records your account so we can honour your license.

The device id is a hash, not a name or an identifier we can trace back to a person. Location is stored as country and region only.

What is never collected: your source code, file contents, file names, project names, the commands you type, or your IP address. IP addresses are used momentarily to work out a country and are not written to our database.

Accounts and keys

  • Passwords are not ours to lose. Sign-in runs through WorkOS. We never store a password. Google and GitHub sign-in are available if you would rather not have one at all.
  • Sessions live in an httpOnly, secure cookie. JavaScript on the page cannot read them.
  • API keys are shown once. We keep a SHA-256 hash of the key and its last four characters, nothing else. If a key leaks, revoke it from the API keys page and it stops working immediately.
  • Keys can expire. Choose 30, 90, or 365 days when you create one, or never if that suits the machine better.
  • The CLI login token is written to a config file in your user directory with owner-only permissions, and it is never written into your project. hype-stack logout revokes it on our side too, so a stolen laptop is not a permanent key.
  • Paid packs are checked before any bytes move. The server verifies your license first. There is no client-side check to bypass.

Payments

Checkout runs on Polar, on their pages. Card numbers never reach our servers, and we could not store one if we wanted to. We keep the order and the license record that comes back.

Rate limiting in generated apps

The Hype Stack template and packs do not ship API rate limiting. Protecting your own routes (auth, checkout, webhooks) is on you once you leave the starter. Prefer a reverse-proxy or edge limit in production, or add middleware in apps/backend for sensitive endpoints. The marketplace API itself is rate-limited; that does not carry into projects you scaffold.

Found something?

Email contact@hype-stack.dev. If it is a vulnerability, say so in the subject line and we will get back to you before we do anything else that day.

Sponsor open source

Every purchase and sponsorship funds my 8+ years of work on open source given freely to the community. It keeps the lights on, funds new packs, and keeps the ecosystem alive. Even a small tier means a lot. Thank you!

Sponsor on GitHub