Norma for builders

Norma for builders

It works. Is it safe to ship?

It works. Is it safe to ship?

Norma reads your repository, tells you in plain English what would fail a real security review, and writes the prompt that fixes it. Free, permanently.

Norma reads your repository, tells you in plain English what would fail a real security review, and writes the prompt that fixes it. Free, permanently.

sb-exposed-service-role-key-1.0 · HIGH

sb-exposed-service-role-key-1.0 · HIGH

sb-exposed-service-role-key-1.0 · HIGH

Service role key hardcoded in client code · src/lib/admin-client.ts:15

Service role key hardcoded in client code · src/lib/admin-client.ts:15

Generated fix prompt · for Lovable

Generated fix prompt · for Lovable

Generated fix prompt · for Lovable

Move the service_role key out of src/lib/admin-client.ts. Create a Supabase Edge Function for admin operations and read the key there with Deno.env.get(‘SUPABASE_SERVICE_ROLE_KEY’). The browser client keeps the anon key only.

Move the service_role key out of src/lib/admin-client.ts. Create a Supabase Edge Function for admin operations and read the key there with Deno.env.get(‘SUPABASE_SERVICE_ROLE_KEY’). The browser client keeps the anon key only.

Working code is not the same as safe code

In 2025, one misapplied row level security pattern left data readable across more than 170 live applications built on a single AI app platform. Severity rated 9.3 out of 10.

Every one of those applications ran correctly. The features worked. The tests passed. The authorization rule was never checked, because nothing in the process was responsible for checking it.

This was not one platform’s mistake. It is what happens anywhere generated code reaches production without a policy check in between.

Review, prompt, fix

Review, prompt, fix

01

01

01

Connect your repository

Connect your repository

GitHub or Bitbucket, read access, under a minute.

GitHub or Bitbucket, read access, under a minute.

02

02

02

Read the plain English findings

Read the plain English findings

No CVE jargon dump. Insights Agent writes a summary of what is risky and why it matters.

No CVE jargon dump. Insights Agent writes a summary of what is risky and why it matters.

03

03

03

Apply the fix, by hand or through MCP

Norma writes the fix prompt for the tool you built in: Lovable, Cursor, Replit, Claude Code. Paste it if you want to. Connect Norma over MCP instead and the agent reads the finding and applies the fix in place, with nothing to copy at all.

What Norma hands back.

One number for whether the app is safe to ship, and the six areas sitting behind it. Every percentage is backed by the rules that ran and the issues they found, and every one of them opens.

A real scan of a demo repository. 59 out of 100, not ready to ship, and it says exactly which areas are dragging it down rather than leaving you to guess.

Guardrails while you build

Guardrails while you build

Connect your editor through MCP and Norma checks suggestions as they arrive, before you accept them. Unlimited on the free tier. The check runs outside the model, so the answer does not change between runs or between editors. Ask twice, get the same result.

claude mcp add --transport http norma https://api.qualityclouds.ai/mcp

claude mcp add --transport http norma https://api.qualityclouds.ai/mcp

claude mcp add --transport http norma https://api.qualityclouds.ai/mcp

What free actually means

What free actually means

1 repository

Unlimited MCP enforcement

5 Full Scans per week

1 Quality Certified Badge per week

No card

No expiry

This is a permanent free tier, not a trial. Accounts can be closed after long inactivity, and reactivating is free.

This is a permanent free tier, not a trial. Accounts can be closed after long inactivity, and reactivating is free.

Find out what your app is carrying

Find out what your app is carrying