Self-hosted marking kit for open-weight models

Keyed, marked, signed and logged, without your media ever leaving home.

Image, audio, video and text, marked on your own servers. Anyone can check a file, free.

$ pip install "laidline[image]"
$ laidline init
$ laidline mark original.png --out marked.png
{
  "out": "marked.png",
  "asset_id": "ast_01M5EGGYX0MH5GK43M7QHHSRZ2",
  "manifest_id": "urn:c2pa:9125b79d-900b-47e7-a5d2-3fc1ffe3b8a6",
  "entry_hash": "78101d1614069e96b2e2414ac2898a4dd5ebc99e622b0dcfeb1f3fe8e32d33fd",
  "warnings": []
}
$ laidline detect marked.png
verdict: marked_by_this_system   grade: A
  c2pa       present=True grade=A status=valid_trusted
             issuer: signed by the certificate registered as issuer 1
                     (Laidline, operator of laidline.com)
  watermark  present=True grade=B status=confirmed_bytes
             issuer: confirmed by issuer 1
                     (Laidline, operator of laidline.com)
  note: Absence of a signal is not evidence that content is human-made.
  note: Revocation status was not checked (OCSP disabled in this deployment).
Show full outputHide full output
Our own run as registered issuer 1. Until you register, free, other machines read a shared mark, grade D.

Your key on every file, free to register. Not an add-on.

In every tier

A keyed tag on image, audio, video and text

Only your key makes it, so forgeries fail.

Public

Detection, free for everyone, always

One endpoint for everyone, answering with a grade, never a score.

Self-hosted

Media, models and keys never leave your servers

Marking runs where your model runs. No file is uploaded.

And on every file

Watermark

PixelSeal, VideoSeal, AudioSeal and a text scheme, CPU-first.

Sign

On image, audio and video files: a C2PA manifest with your KMS key and an RFC 3161 timestamp.

Log

One hash-chained entry per attempt, signed checkpoints, an exportable bundle.

Our own runs, on public test sets.

1.1 s About a second to mark a photo The median, signed and logged, on just 2 CPU threads.
100% Every test image survived Rotated, screenshotted, over 40% cropped.
97% Audio survives phone-call codecs Marks still read after call compression.
0.01% Almost no false alarms At most 1 in 10,000 unmarked photos flagged.

Every figure with its n, date and method on the proof page.

All the numbers

Same to the eye. Different to the detector.

Open the full comparison
Drag the line
Original on the left, marked on the right.
Difference
Both files subtracted and turned up: what is left is the mark.
Listen
Flip between the two as it plays. It keeps its place.

Image

A flower, photographed by the owner
Original: the file as the model made it.
Marked file: A flower, photographed by the owner
Same to the eye. Different to the detector.
Difference map, amplified ×40: the mark as a pattern. A flower, photographed by the owner
Difference: the two files subtracted, amplified ×40.

Up close, no pixel shifts over 5 of 255 brightness levels.

Audio

Listen to
Spectrogram of the original: A short spoken recording by Laidline's owner Spectrogram of the marked file: A short spoken recording by Laidline's owner

Pitch runs up the picture, time across.

Video

Every frame is marked. The difference includes normal re-encode noise.

Grades, not scores. And a public tier that cannot be used as an oracle.

Anyone sees
A grade and a status; the payload only at grade B. Never a score.
You see
The payload, the tag, the registry entry.
Nobody sees
A claim of human origin. Absence is never a verdict.
Check a file
POST /detect · public tierlaidline.detect/1
Verdict
Marked by this system
Grade
A
C2PA
Valid, trusted certificate
Watermark
Confirmed by exact bytes, grade B
Issuer
Confirmed by Issuer 1 (Laidline, operator of laidline.com)

Absence of a signal is not evidence that content is human-made.

Mark your first output today.