FaultmarkRequest an audit
Botanical field illustration with a beetle camouflaged in the foliage

The logic bugs
that pass your linter.

Faultmark reads your whole codebase for the logic and security bugs your scanners miss, verifies every finding against your actual source, and throws away anything it cannot prove. You only pay for the bugs you keep.

Request an auditor run it yourself
CURRENTLY READING
TypeScript·JavaScript·Python·Go
01 / METHOD

A reading in three passes.

01

Point us at the code

Give us read access to one repository, or name a public one. No writes, no CI changes, no standing access.

TERMINALacme/auth-service
$
02

We find, then verify

Every candidate is re-read against your actual source. If we cannot point to the exact line, we delete it before you see it.

SCAN REPORT312 files read
auth.ts✓ clean
session.ts✓ clean
token.ts● 1 finding
1 findingverified against source
03

You decide

You get a report of real bugs only, each with a concrete fix, to file and line. You merge what you want. Nothing is auto-applied.

PROPOSED FIXtoken.ts:29
function isExpired(t) {
- return days(t) > WINDOW + 1;
+ return days(t) >= WINDOW;
}
IN THE PRODUCT

This is what a review looks like.

A short walkthrough of the actual decisions you make, from repository selection to a review-ready pull request.

FAULTMARK / REVIEWREADY

REPOSITORY

Choose the code you want reviewed.

Faultmark asks for a repository, a branch, and your approval before it starts.

Repositoryacme/storefront
Branchmain
AccessRead source, propose pull requests
02 / VERIFICATION

We delete our own findings.

Most tools show you everything the model thought it saw. We don’t.

STAGE 01
Discovery

A first pass reads the whole codebase and proposes candidate bugs, each with the exact code as evidence.

session.ts:112: refresh can race a revoked token
STAGE 02
Verification

A second, adversarial pass re-reads each candidate against your real source and tries to disprove it.

auth.ts:47: no guard on this path, confirmed
STAGE 03
The drop

If the quoted code is not in your file, or a guard covers the path, the finding is deleted. You never see it.

search.ts:19: evidence not in source, dropped
WHAT SURVIVES

Evidence required

A finding has to quote the exact line from your source. No quote, no finding.

Adversarial re-check

A separate pass tries to disprove every candidate before it ever reaches your report.

Short by design

Only findings that survive verification make the report. That is why the report is short.

FIELD NOTE

Linters check syntax. faultmark checks logic.

03 / CAPABILITIES

Everything a senior engineer would catch. Automated.

01

The whole codebase, not the diff

We read how values flow across files, not just the lines that changed in a pull request.

02

Verified against your source

Every finding is checked against your real code. Anything we cannot prove is dropped, not shown.

DROPPED search.ts:19 evidence not in source
03

We show what we dropped

The report says how many candidates we discarded and why. Precision you can check, not a number you have to trust.

04

A concrete fix, not a hint

Every finding comes with a patch, to file and line. You review it and merge. Nothing auto-deploys.

- return user.profile.prefs
+ return user?.profile?.prefs ?? null
05

You only pay for what you keep

A bug counts when you merge the fix or confirm it is real. If your scanners already caught everything, you owe nothing.

06

From finding to pull request

When you accept a fix, it becomes a branch and a pull request for you to review. Faultmark never merges.

faultmark/fix-session-refresh → main
04 / CONTINUOUS AUDIT

The work that happens after the first scan.

Manual scans build deep repo context. Push and pull-request audits use that context automatically, while developers are already working in GitHub.

PUSH AUDITmain @ 8f41c2a

After the first audit, every push gets read.

Faultmark reviews only what changed, pulls in what it already learned about your repo, and sends a concise summary. Anything actionable becomes an audit PR for you to review.

push received main @ 8f41c2a
smart delta 6 files changed
memory context repo profile loaded
summary sent email + audit PR
HIGH
Unchecked payment state can mark failed orders paid
api/checkout/route.ts
MED
Session refresh races with revoked token lookup
lib/session.ts
PULL REQUEST AUDIT#42 checkout hardening

PRs get read the moment they move.

Faultmark reads the diff, verifies uncertain findings against your source, and posts one clean review comment with severity, confidence, and the evidence.

PR opened #42 checkout hardening
diff reviewed auth, billing, API
findings verified 2 confirmed, 1 dropped
review posted GitHub comment
CRIT
Admin export misses authorization guard
app/api/admin/export/route.ts
HIGH
Webhook signature failure is swallowed
lib/billing/webhook.ts
05 / PRICING

Run it yourself, or have us do it.

RUN IT YOURSELF

Free

for solo developers
$0
  • Scans3 / month
  • Findings verified against sourceincluded
  • Fix proposalsincluded
Start free

Pro

for teams that shipSELF-SERVE
$29.99/ month
  • Scansmonthly budget
  • Automatic push & PR auditsincluded
  • Findings verified against sourceincluded
  • Fix proposalsincluded
Go Pro
HAVE US DO IT

The Founding Audit

one repository, one time

You only pay for the bugs you keep.

$100per confirmed bugcapped at $600 per audit
  • We read one repository and send you every real bug we find, ranked, each with a concrete fix.
  • Read access only. We never open a pull request, never touch your CI, never ask for write access.
  • Security findings come to you privately, never a public issue.
  • A bug counts only when you merge the fix or confirm it is real. If we find nothing you keep, you pay nothing.
Request an audit

Find out what your
scanners missed.

One repository. You only pay for the bugs you keep.

Request an audit