Now in public beta — v0.9.4

Ship software
your clients
can't dispute.

Forma turns code review, compliance checks, and client reporting into a single repeatable workflow. Built for founders who bill on outcomes, not hours.

JK
AR
TM
SL
PD
forma — audit runner
What it does

Four things.
Done right.

  • 01

    Automated code audit

    Runs 200+ deterministic checks across your codebase in under 90 seconds. No fluff scoring, just exact line references your clients can verify.

  • 02

    Compliance diff tracking

    Git-native. Forma compares every commit against your chosen standard—SOC 2, OWASP, or custom rulesets—and surfaces only what changed.

  • 03

    Client-grade PDF reports

    One command generates a signed, timestamped PDF scoped to exactly what your contract covers. No redacting. No post-processing.

  • 04

    Webhook delivery pipeline

    Push results to Slack, Linear, Jira, or any endpoint. Every event is idempotent and replay-safe. Your integrations stay intact on reruns.

forma.config.ts
import { defineConfig } from 'forma'

export default defineConfig({
  // run every push to main
  trigger: 'push:main',

  audit: {
    standard: 'owasp-top10',
    custom:   './rules/billing.ts',
    failOn:   'critical',
  },

  report: {
    format:    'pdf',
    sign:      true,
    recipient: 'client@acme.com',
  },

  webhooks: [
    {
      url:    process.env.SLACK_HOOK,
      events: ['audit.pass', 'audit.fail'],
    },
  ],
})
Who it's for

Built for the people
billing on outcomes.

Not a JIRA plugin. Not a compliance theater SaaS. Forma is for practitioners who own their client relationships end-to-end.

Audience What Forma does for you
Freelance devs
Solo engineers & contractors
Gives you audit artifacts your clients can hold—so disputes about scope become non-conversations. Close the engagement, move on.
Agencies
Digital product studios
Standardize quality across all client projects without doubling QA headcount. One config file, consistent output on every delivery.
Founders
Technical startup founders
Ship investor updates and due-diligence packages that include verifiable code quality signals—not just a Loom and a roadmap slide.
Auditors
Security & compliance consultants
Run reproducible assessments with full trace logs. Every finding links to a commit hash. No more "it depends on the environment" calls.
Feature proof

Depth where it matters.

Each feature ships with a test harness, an escape hatch, and documentation your clients can actually read.

200+ deterministic checks

Every check in Forma's audit engine is a pure function: same input, same output, every time. No machine-learning scoring, no confidence intervals—just pass, fail, or skip with a reason code.

  • OWASP Top 10, CWE/SANS 25, custom ruleset support
  • Line-level findings with exact file path and commit hash
  • Configurable severity thresholds — block CI or warn only
  • Sub-90s runtime on repos up to 500k lines
audit output — terminal
$ forma audit --standard owasp-top10

 Scanning 312 files...
 Running 214 checks in 4 workers

CRITICAL 0 findings
HIGH     2 findings
MEDIUM   7 findings

→ HIGH src/auth/session.ts:88
  CWE-384 Session fixation — token not rotated on login

→ HIGH src/api/upload.ts:142
  CWE-434 Unrestricted file upload — MIME not validated

Report saved: ./forma-report-2025-01-14.pdf
Signed:       SHA256:3fa2c...b91

Reports clients can actually read

Forma generates scoped, signed PDFs formatted for non-technical stakeholders without removing the technical receipts your team needs. One report, both audiences.

  • Digital signature with timestamp — court-admissible
  • Custom branding — your logo, your color, your domain
  • Executive summary auto-generated from finding severity
  • HTML, PDF, and JSON — one command, all three formats
report.config.ts
export const report = {
  formats: ['pdf', 'html', 'json'],

  branding: {
    logo:    './assets/logo.svg',
    primary: '#0d0f12',
    accent:  '#00c9b1',
  },

  sections: {
    executiveSummary: true,
    findingsDetail:   true,
    remediation:      true,
    appendix:         'technical-trace',
  },

  sign: {
    enabled: true,
    keyPath: './keys/forma.key',
  },
}

Drop into any pipeline in 4 lines

Forma ships a GitHub Action, a GitLab CI template, and a bare CLI binary. No Docker-in-Docker, no privileged runners, no 45-minute setup guides.

  • GitHub Actions, GitLab CI, Bitbucket Pipelines
  • PR comments with inline finding annotations
  • Zero-downtime config hot-reload across environments
  • Secrets never leave your runner — no upload required
.github/workflows/forma.yml
name: Forma Audit
on: [push, pull_request]

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: forma-dev/action@v1
        with:
          token: ${{ secrets.FORMA_TOKEN }}
          standard: owasp-top10
          fail-on: critical
          report: true

REST API with webhook fanout

Every audit is an API-first event. Trigger runs, pull results, stream findings in real time. All webhooks are idempotent, signed with HMAC-SHA256, and include replay headers.

  • OpenAPI 3.1 spec — import directly into Postman or Insomnia
  • Rate-limit: 1000 req/min on Pro, unlimited on Enterprise
  • Webhook event log with 30-day retention and 1-click replay
  • TypeScript SDK — typed responses, zero runtime surprises
trigger-audit.ts
import { Forma } from '@forma/sdk'

const forma = new Forma({
  token: process.env.FORMA_TOKEN,
})

const run = await forma.audits.create({
  repo:     'acme/backend',
  ref:      'main',
  standard: 'owasp-top10',
})

// Stream findings in real time
for await (const finding of run.stream()) {
  console.log(finding.severity, finding.cwe)
}
Pricing

Honest pricing.
Nothing hidden.

Every tier includes the core audit engine. Upgrade when your client count, team size, or compliance requirements grow—not before.

Starter
$0/mo
For solo devs kicking the tires. No time limits, no watermarks.
  • 3 audits per month
  • OWASP Top 10 standard
  • PDF + JSON output
  • GitHub Actions integration
  • Custom branding
  • Webhook delivery
Get started free
Enterprise
Custom
For security firms and product teams shipping regulated software. SOC 2 Type II available on request.
  • Everything in Pro
  • Self-hosted deployment option
  • SSO / SAML + audit log retention
  • Unlimited webhook endpoints + API
  • Dedicated support — SLA < 4h
  • Custom contract — annual or monthly

No contracts. Cancel any time. Downgrade, not delete.

Ready when you are

Stop explaining.
Start proving.

Your next client won't take your word for it. Give them a signed report they can actually read.

Start free — no card needed
Set up in under 5 minutes — CLI or GitHub Action.
Your code never touches our servers on self-hosted.
Cancel any time — data export included, no questions.