Knsept
! Security

Guard can look. It can't touch.

You'd be trusting a small company with a view into your Cloudflare account. So Guard is built to need as little as possible, and the parts that act run in your account.

Live today

The scanner

On your machine

npx knsept scan sends your token to api.cloudflare.com and nowhere else. It has no telemetry, and the report stays on your screen.

In your browser

The token is sent to our API over HTTPS, held in memory for one request, and discarded. It is never written to a database or a log, and every log line passes through a redaction step first.

What a web scan stores

How many times each rule fired, and when. No token, account ID, Worker name, database name or SQL.

Exact token permissions

  • Account Analytics Read: usage numbers
  • Workers Read: Worker names, cron schedules, Durable Object namespaces
  • Queues Read: queues and their retry settings
  • D1 Read: database names and sizes

The scanner never runs a query against your D1 databases and never downloads your Worker code. Query text comes from Cloudflare's analytics, with bound values already left out.

These permissions reach further than the scanner goes: Cloudflare accepts D1 Read for running queries, and Workers Read can download Worker code. If you'd rather not paste that into a website, run the CLI, which sends your token only to Cloudflare.

Blocked by design

  • Editing or deploying Workers
  • Changing routes or crons
  • Reading your KV values or R2 files
rules How Guard is built

Design rules for the watcher and brakes.

The watcher and the Brake Worker run under these rules.

Watch-only by default

Without the Brake Worker, Guard can only alert you.

Brakes run in your account

The Brake Worker is open source and deployed by you. It holds the only token that can pause a queue. Knsept never holds a token that can change your apps.

Signed signals only

The Brake Worker acts only on a signed, recent request for a resource and action you listed in its config.

Tokens encrypted at rest

Connected accounts' tokens are encrypted before they reach the database, with the narrowest read-only scopes. A token is deleted when you disconnect the account or your subscription ends. Guard keeps 30 days of usage per resource, by name, and the latest findings, with the values taken out of any SQL they quote. Alert emails name the resource and its spend, and go only to the address you sign in with.

What a brake can stop

Queues first: Cloudflare has a setting that pauses a queue's delivery. Durable Object alarms run inside the object, and Cloudflare offers no way we've found to cancel one from outside. Until there's a safe way to stop a resource, Guard alerts you and leaves it running.

Found a problem?

Email support@knsept.com with "Security report" in the subject.