Proof · our own runs

Marks that survive real edits. Every number with sample, method and date.

Stock decoders lose a rotated image, a screenshot, a crop. Laidline reads them back.

See the original and the marked file side by side
On this page

Stock decoder, then Laidline

  1. Rotated 5° either way Stock decoder 2.7% Laidline 100%, n=100, 95% interval 96% to 100%
  2. Screenshot (synthetic) Stock decoder 0% Laidline 100%, n=100, 95% interval 96% to 100%
  3. Centre crop to 75% Stock decoder 31.9% Laidline 100%, n=100, 95% interval 96% to 100%
  4. False positives 0 of 38,500 unmarked photos flagged At most 0.01%, the 95% upper bound

Our runs: n=100 marked photos per edit, 30 Sep 2026, against 493 for the stock decoder; false positives 27 Oct 2026.

Images still read 100% After turns, a screenshot or a crop; stock 0% up to 31.9% n=100 · 30 Sep 2026 · 95% interval 96% to 100%
False positives: photos At most 0.01% 0 of 38,500 unmarked photos flagged n=38,500 · 27 Oct 2026 · 95% upper bound
False positives: video clips At most 0.08% 0 of 4,854 unmarked clips flagged n=4,854 · 27 Oct 2026 · 95% upper bound
Audio payload read exactly 97% Opus 12 kbps, phone-call quality n=200 · 12 Oct 2026 · 95% interval 85% to 99.2% · weighted by test set

A 70-bit keyed audio payload, read exactly or not at all.

Exact reads of 200 clips per codec; poor recordings read lower.

Opus 12 kbpsPhone-call quality
97%193 of 200
Wrong payloads
0
95% interval
85% to 99.2%
Rate
Weighted by test set
Opus 24 kbpsVoice apps
100%200 of 200
Wrong payloads
0
95% interval
98% to 100%
Standard formatsOpus 48 kbps, MP3, AAC, G.711, every container
100%200 of 200
Wrong payloads
0
95% interval
98% to 100%
Even at phone-call quality the payload reads back exactly, and every standard format reads in full.
  • GPU deep scan survives trims, excerpts from 24 kbps; at 12 kbps, 94% (n=200 · 12 Oct · 89% to 97%).
  • Otherwise edited audio gets presence plus fingerprint match: 99.7% (n=2,000 · 13 Oct) from 10 s of speech.

Decode rate per edit. A stock decoder against Laidline, edit by edit.

The share of marked items whose exact payload read back after each edit. Benign edits only. Sample sizes differ, and for images the stock run is another scheme: each row names its own.

ImagePixelSeal with default reads on COCO val2017 photos, against TrustMark Q's fast decoder.
Rotated 5° either way Stock decoder 2.7% Laidline 100% Change +97.3 pts Laidline n=100 · 30 Sep 2026 · 95% interval 96% to 100% · target 90%
Stock n=493 · TrustMark Q · 29 Sep 2026
Quarter turns and 180° Stock decoder 0% Laidline 100% Change +100 pts Laidline n=100 · 30 Sep 2026 · 95% interval 96% to 100%
Stock n=493 · TrustMark Q · 29 Sep 2026
Screenshot (synthetic) Stock decoder 0% Laidline 100% Change +100 pts Laidline n=100 · 30 Sep 2026 · 95% interval 96% to 100% · target 80%
Stock n=493 · TrustMark Q · 29 Sep 2026
Centre crop to 75% Stock decoder 31.9% Laidline 100% Change +68.1 pts Laidline n=100 · 30 Sep 2026 · 95% interval 96% to 100%
Stock n=493 · TrustMark Q · 29 Sep 2026
Centre crop to 50% Stock decoder 0% Laidline 87% Change +87 pts Laidline n=100 · 30 Sep 2026 · 95% interval 79% to 93% · target 80%
Stock n=493 · TrustMark Q · 29 Sep 2026
JPEG at quality 50 Stock decoder 96.8% Laidline 99% Change +2.2 pts Laidline n=100 · 30 Sep 2026 · 95% interval 94% to 99.9%
Stock n=493 · TrustMark Q · 29 Sep 2026
WebP at quality 50 Stock decoder 94.0% Laidline 93% Change −1 pts Laidline n=100 · 30 Sep 2026 · 95% interval 86% to 97%
Stock n=493 · TrustMark Q · 29 Sep 2026
VideoVideoSeal with the hardened decode and geometry search on Xiph derf clips; the last row uses the keyframe scheme.
Letterboxed Stock decoder 34.9% Laidline 100% Change +65.1 pts Laidline n=43 · 30 Sep 2026 · 95% interval 91% to 100% · target 80%
Stock n=43 · VideoSeal fast decoder · 29 Sep 2026
Screen capture Stock decoder 69.8% Laidline 100% Change +30.2 pts Laidline n=43 · 30 Sep 2026 · 95% interval 91% to 100% · target 80%
Stock n=43 · VideoSeal fast decoder · 29 Sep 2026
Centre crop to 80% Stock decoder 62.8% Laidline 97% Change +34.2 pts Laidline n=43 · 30 Sep 2026 · 95% interval 87% to 99.6% · target 90%
Stock n=43 · VideoSeal fast decoder · 29 Sep 2026
Corner crop to 80% Stock decoder 41.9% Laidline 90% Change +48.1 pts Laidline n=43 · 30 Sep 2026 · 95% interval 78% to 97%
Stock n=43 · VideoSeal fast decoder · 29 Sep 2026
Social re-encode Stock decoder 62.8% Laidline 76% Change +13.2 pts Laidline n=43 · 30 Sep 2026 · 95% interval 62% to 87% · target 80%
Stock n=43 · VideoSeal fast decoder · 29 Sep 2026
Rescale to half size Stock decoder 62.8% Laidline 81% Change +18.2 pts Laidline n=43 · 30 Sep 2026 · 95% interval 67% to 91%
Stock n=43 · VideoSeal fast decoder · 29 Sep 2026
Keyframe scheme, trimmed or middle 2 s kept Stock decoder 0% Laidline 90% Change +90 pts Laidline n=41 · 30 Sep 2026 · 95% interval 77% to 97% · target 90%
Stock n=41 · fast keyframe vote · 29 Sep 2026
AudioThe AudioSeal 16-bit mark with the hardened decode on LibriSpeech, against the stock fast read at 0.5.
Start offset of 1 to 50 ms, file mark Stock decoder 0% Laidline 99% Change +99 pts Laidline n=100 · 30 Sep 2026 · 95% interval 94% to 99.9% · target 95%
Stock n=100 · AudioSeal fast read at 0.5 · 30 Sep 2026
Middle half of the clip kept, stream mark Stock decoder 6.0% Laidline 100% Change +94 pts Laidline n=100 · 30 Sep 2026 · 95% interval 96% to 100%
Stock n=100 · AudioSeal fast read at 0.5 · 30 Sep 2026
Mark covering only 25% of the clip Stock decoder 0% Laidline 100% Change +100 pts Laidline n=100 · 30 Sep 2026 · 95% interval 96% to 100% · target 90%
Stock n=100 · AudioSeal fast read at 0.5 · 30 Sep 2026
Mark covering only 10% of the clip Stock decoder 0% Laidline 54% Change +54 pts Laidline n=100 · 30 Sep 2026 · 95% interval 44% to 64%
Stock n=100 · AudioSeal fast read at 0.5 · 30 Sep 2026
Opus at 12 kbps, issuer exact, file mark Stock decoder 92.0% Laidline 91% Change −1 pts Laidline n=100 · 30 Sep 2026 · 95% interval 83% to 96%
Stock n=100 · AudioSeal fast read at 0.5 · 30 Sep 2026
Opus at 12 kbps, issuer exact, stream mark Stock decoder 55.0% Laidline 55% Change 0 pts Laidline n=100 · 30 Sep 2026 · 95% interval 45% to 65%
Stock n=100 · AudioSeal fast read at 0.5 · 30 Sep 2026
TextKGW with the hardened decode on human C4 documents, against the KGW fast test.
Marked text as 10% of a document Stock decoder 32.0% Laidline 100% Change +68 pts Laidline n=100 · 29 Sep 2026 · 95% interval 96% to 100% · target 90%
Stock n=100 · KGW fast test · 29 Sep 2026
Marked text as 25%, greedy KGW Stock decoder 17.0% Laidline 79% Change +62 pts Laidline n=200 · 29 Sep 2026 · 95% interval 72% to 85% · target 90%
Stock n=200 · greedy KGW fast test · 29 Sep 2026

False positives and forgery. The numbers most vendors never publish.

Unmarked media our decoder flagged. Stock decoders were not run on these sets.

The 2026 campaign's pass lines were sealed before any of its results were read.

False positives: speech At most 0.08% 0 of 5,000 unmarked single utterances flagged, keyed n=5,000 · 28 Oct 2026 · 95% upper bound
Forged payload accepted 10−14 Chance per image check, one key, four default reads Analytic bound, not a measurement
False positives on unmarked media
Unmarked mediaLaidlineSamples
Photos 0 of 38,500, at most 0.01% 38,500
Clips 0 of 4,854, at most 0.08% 4,854
Random reads 0 of 200,000, at most 0.01% 200,000
Speech, keyed 0 of 5,000, at most 0.08% 5,000
Music, keyed 0.05% 4,979
Text, KGW grade B 0 of 20,000, at most 0.02% 20,000

Every value, as a table. With target, n and method.

A dash means no target was set, or no stock run.

Image

All 7 edits, with intervals

PixelSeal with the product embed and default reads, on COCO val2017 photos: 100 per edit, the stock decoder on 493. Measured 30 Sep 2026. Source: Grading: PixelSeal image scheme.

Image
EditTargetStockLaidline95% interval
Rotated 5° either way 90% 2.7%13 of 493 100%100 of 100 96% to 100%
Quarter turns and 180° No target 0%0 of 493 100%100 of 100 96% to 100%
Screenshot (synthetic) 80% 0%0 of 493 100%100 of 100 96% to 100%
Centre crop to 75% No target 31.9%157 of 493 100%100 of 100 96% to 100%
Centre crop to 50% 80% 0%0 of 493 87%87 of 100 79% to 93%
JPEG at quality 50 No target 96.8%477 of 493 99%99 of 100 94% to 99.9%
WebP at quality 50 No target 94.0%463 of 493 93%93 of 100 86% to 97%
How each row was measured
Rotated 5° either way
PixelSeal, product embed and default reads, COCO val2017; rotate +5° and rotate -5° each 100 of 100
Quarter turns and 180°
PixelSeal, default reads: rotate 90° read directly 100 of 100, rotate 180° through the half-turn read 100 of 100
Screenshot (synthetic)
PixelSeal, default reads: 74 direct, 26 through the border cut
Centre crop to 75%
PixelSeal, product embed and default reads, COCO val2017
Centre crop to 50%
PixelSeal, product embed and default reads, COCO val2017 (all 9 views: 88)
JPEG at quality 50
PixelSeal, product embed and default reads, COCO val2017 (all 9 views: 100)
WebP at quality 50
PixelSeal, product embed and default reads, COCO val2017

Video

All 7 edits, with intervals

VideoSeal with the hardened decode and the geometry search, on 43 Xiph derf clips; the last row is the keyframe scheme on 41 clips. Measured 30 Sep 2026. Sources: Grading: Video (VideoSeal) and Grading: Video (keyframe TrustMark).

Video
EditTargetStockLaidline95% interval
Letterboxed 80% 34.9%15 of 43 100%43 of 43 91% to 100%
Screen capture 80% 69.8%30 of 43 100%43 of 43 91% to 100%
Centre crop to 80% 90% 62.8%27 of 43 97%42 of 43 87% to 99.6%
Corner crop to 80% No target 41.9%18 of 43 90%39 of 43 78% to 97%
Social re-encode 80% 62.8%27 of 43 76%33 of 43 62% to 87%
Rescale to half size No target 62.8%27 of 43 81%35 of 43 67% to 91%
Keyframe scheme, trimmed or middle 2 s kept 90% 0%0 of 41 90%37 of 41 77% to 97%
How each row was measured
Letterboxed
VideoSeal, hardened decode with the geometry search, 43 Xiph derf clips, GPU (hardened without the search: 21)Grading: Video (VideoSeal)
Screen capture
VideoSeal, hardened decode with the geometry search, 43 Xiph derf clips (hardened without the search: 33)Grading: Video (VideoSeal)
Centre crop to 80%
VideoSeal, hardened decode with the geometry search, 43 Xiph derf clips (hardened without the search: 35)Grading: Video (VideoSeal)
Corner crop to 80%
VideoSeal, hardened decode with the geometry search, 43 Xiph derf clips (hardened without the search: 29)Grading: Video (VideoSeal)
Social re-encode
VideoSeal, hardened decode; the geometry search adds nothing here; 43 Xiph derf clipsGrading: Video (VideoSeal)
Rescale to half size
VideoSeal, hardened decode with the geometry search, 43 Xiph derf clips (hardened without the search: 33)Grading: Video (VideoSeal)
Keyframe scheme, trimmed or middle 2 s kept
Keyframe TrustMark, hardened decode (gated vote, then the scan), 41 marked Xiph derf clips, CPU schemeGrading: Video (keyframe TrustMark)

Audio, 16-bit mark

All 6 edits, with intervals

The AudioSeal 16-bit mark with the hardened decode, on a fresh set of 100 LibriSpeech clips per edit. Measured 30 Sep 2026. Source: Grading: Hardened audio decode.

Audio, 16-bit mark
EditTargetStockLaidline95% interval
Start offset of 1 to 50 ms, file mark 95% 0%0 of 100 99%99 of 100 94% to 99.9%
Middle half of the clip kept, stream mark No target 6.0%6 of 100 100%100 of 100 96% to 100%
Mark covering only 25% of the clip 90% 0%0 of 100 100%100 of 100 96% to 100%
Mark covering only 10% of the clip No target 0%0 of 100 54%54 of 100 44% to 64%
Opus at 12 kbps, issuer exact, file mark No target 92.0%92 of 100 91%91 of 100 83% to 96%
Opus at 12 kbps, issuer exact, stream mark No target 55.0%55 of 100 55%55 of 100 45% to 65%
How each row was measured
Start offset of 1 to 50 ms, file mark
AudioSeal 16-bit, hardened decode (phase search), fresh set of 100 LibriSpeech test-clean clips, GPU, replayed at the shipped constants; the lowest offset (8 ms) reads 99, every other 99 or 100
Middle half of the clip kept, stream mark
AudioSeal 16-bit, hardened decode, fresh set of 100 clips (middle 50% crop; the batch mark also 100, stock 8)
Mark covering only 25% of the clip
AudioSeal 16-bit batch mark, hardened decode (windowed read), fresh set of 100 clips, detection
Mark covering only 10% of the clip
AudioSeal 16-bit batch mark, hardened decode, fresh set of 100 clips, detection; reported, no target
Opus at 12 kbps, issuer exact, file mark
AudioSeal 16-bit, hardened decode, fresh set of 100 clips; issuer exact (all 16 bits right), not presence
Opus at 12 kbps, issuer exact, stream mark
AudioSeal 16-bit streaming mark, hardened decode, fresh set of 100 clips; issuer exact

Text

Both edits, with intervals

KGW with the hardened decode, an offline rescore of the bench texts. Measured 29 Sep 2026. Source: Grading: Per-signal grades.

Text
EditTargetStockLaidline95% interval
Marked text as 10% of a document 90% 32.0%32 of 100 100%100 of 100 96% to 100%
Marked text as 25%, greedy KGW 90% 17.0%34 of 200 79%158 of 200 72% to 85%
How each row was measured
Marked text as 10% of a document
KGW at temperature 1.0, hardened decode (whole-text test and windows of 128, 256 and 512 tokens on exact binomial p-values), offline rescore of the 2026-09-29 bench texts (embed sweep, n=100); greedy KGW 6 -> 72
Marked text as 25%, greedy KGW
Greedy KGW, hardened decode, offline rescore of the 2026-09-29 bench texts (main row, n=200; k from 79.0% of 200); unedited greedy text reads 95.0%; missed target

Keyed audio payload

All 3 codec rows, with intervals

A keyed 70-bit payload read back exactly, on 200 fresh LibriSpeech clips per row, with 0 wrong payloads. No stock run on these rows. Measured 12 Oct 2026. Source: Benchmarks: The CPU standard, the default read on CPU.

Keyed audio payload
EditTargetLaidline95% interval
Opus 12 kbps 95% 97%193 of 200 85% to 99.2%Weighted by test set
Opus 24 kbps No target 100%200 of 200 98% to 100%
Standard formats No target 100%200 of 200 98% to 100%
How each row was measured
Opus 12 kbps
Keyed 70-bit payload, verified-exact, 200 fresh LibriSpeech clips (F1); post-stratified rate 97.3% (test-clean 35/35, test-other 14/15, dev-clean 144/150, weights 1/2, 1/4, 1/4); 0 wrong payloads
Opus 24 kbps
Keyed 70-bit payload, verified-exact, 200 fresh LibriSpeech clips (F1), both envelopes; 0 wrong payloads
Standard formats
Keyed 70-bit payload, verified-exact, 200 of 200 on each row, both envelopes, default read on CPU; 0 wrong payloads

False positives and forgery

All 16 rows, with intervals

Unmarked media read as marked, and one analytic bound on forgery. Audio rows are for keyed deployments; text rows are grade B. No stock run on these rows. Measured 29 Sep to 29 Oct 2026. Each row's date and source are under the table.

False positives and forgery
MediaLaidline95% interval
Photos, default reads At most 0.01%0 of 38,500 0% to 0.01%
Photos, keyed payload accepted At most 0.01%0 of 38,500 0% to 0.01%
Photos, TrustMark without its gates 10.0%249 of 2,500 8.8% to 11.2%
Forged keyed payload accepted 10−14Analytic bound Not applicable
Clips, default reads At most 0.08%0 of 4,854 0% to 0.08%
Clips, keyed payload accepted At most 0.08%0 of 4,854 0% to 0.08%
Clips, keyframe payload accepted At most 0.08%0 of 4,854 0% to 0.08%
Random reads, full geometry search At most 0.01%0 of 200,000 0% to 0.01%
Speech, single utterances, keyed At most 0.08%0 of 5,000 0% to 0.08%
Speech, 30 s joins, keyed At most 0.08%0 of 5,000 0% to 0.08%
Speech, 120 s joins, keyed At most 0.08%0 of 5,000 0% to 0.08%
Music, keyed 0.05%2 of 4,979 0.01% to 0.15%
Environmental sounds, keyed 0.30%15 of 5,000 0.18% to 0.50%
Voice calls, keyed 0.05%2 of 4,000 0.01% to 0.19%
Text, SynthID, grade B At most 0.02%0 of 20,000 0% to 0.02%
Text, KGW, grade B At most 0.02%0 of 20,000 0% to 0.02%
How each row was measured
Photos, default reads
PixelSeal, default reads, presence on 38,500 unmarked photos (19,175 COCO train2017 and 19,325 Open Images), none left out; the pass lines were sealed before any result was read; 2,200 screenshots of unmarked photos also read 0 flagged (upper bound 0.17%)27 Oct 2026 · Benchmarks: Image null campaign
Photos, keyed payload accepted
Keyed PixelSeal, payload tag check on the same 38,500 unmarked photos as the default reads; a tag must verify before an issuer is shown, and none did27 Oct 2026 · Benchmarks: Image null campaign
Photos, TrustMark without its gates
TrustMark soft decoding without its two gates, the fit half of the calibration photos: 249 of 2,500 carry payload version 1, the only version the decoder accepts (any version: 1,526, 61%); with the gates 0 of 5,000. TrustMark is the selectable scheme, not the PixelSeal default29 Sep 2026 · Grading: Hardened image decode
Forged keyed payload accepted
Analytic own-accept bound for keyed PixelSeal at one key over the 4 default reads (10−13.4 over the 17 deep reads); a bound, not a measurement14 Oct 2026 · Grading: Keyed image payloads
Clips, default reads
VideoSeal, default reads, presence on 4,854 unmarked 5 s clips (user-generated clips from the YouTube UGC set 3,041, Wikimedia Commons 1,618, Xiph 93, local 1080p 46, Netflix Meridian 52, Sintel 4); 40 clips at 4096 × 2160 were above the pixel limit and are left out of n; the pass lines were sealed before any result was read27 Oct 2026 · Benchmarks: Video null campaign
Clips, keyed payload accepted
Keyed VideoSeal, payload tag check on the same 4,854 unmarked 5 s clips as the default reads27 Oct 2026 · Benchmarks: Video null campaign
Clips, keyframe payload accepted
Keyframe scheme (TrustMark on keyframes), payload tag check on the same 4,854 unmarked 5 s clips27 Oct 2026 · Benchmarks: Video null campaign
Random reads, full geometry search
200,000 full-search null draws (19 hypotheses, 4,000,000 hardened decodes), none with a CRC-valid candidate; the source states a one-sided 95% bound of 1.5e-5 per draw7 Oct 2026 · Grading: Video (VideoSeal)
Speech, single utterances, keyed
Keyed 70-bit payload deployment, public presence on 5,000 unmarked single utterances (LibriSpeech 3,177, Multilingual LibriSpeech 1,823), after the rule that hides the streaming card's unconfirmed presence in keyed deployments, replayed on the stored reads, not a new run; the payload tag was accepted on none of 26,979 unmarked keyed reads; the pass lines were sealed before any result was read28 Oct 2026 · Benchmarks: Audio null campaign
Speech, 30 s joins, keyed
Keyed 70-bit payload deployment, public presence on 5,000 unmarked 30 s joins of read speech, after the streaming-card rule, replayed on the stored reads28 Oct 2026 · Benchmarks: Audio null campaign
Speech, 120 s joins, keyed
Keyed 70-bit payload deployment, public presence on 5,000 unmarked 120 s joins of read speech, after the streaming-card rule, replayed on the stored reads28 Oct 2026 · Benchmarks: Audio null campaign
Music, keyed
Keyed 70-bit payload deployment, public presence on 4,979 unmarked music tracks (Free Music Archive; 21 files could not be decoded and are left out), after the streaming-card rule, replayed on the stored reads; the payload tag was accepted on none28 Oct 2026 · Benchmarks: Audio null campaign
Environmental sounds, keyed
Keyed 70-bit payload deployment, public presence on 5,000 unmarked environmental sounds (FSD50K evaluation set), after the streaming-card rule, replayed on the stored reads; added after the pass lines were sealed, so reported without a line; the payload tag was accepted on none28 Oct 2026 · Benchmarks: Audio null campaign
Voice calls, keyed
1,000 unmarked units per row read keyed on a GPU, shipped default read (phase search off); 0 payload tags accepted; one hit each on the Opus and the packet-loss rows28 Oct 2026 · Benchmarks: Unmarked voice
Text, SynthID, grade B
SynthID, grade B at the shipped gate (p below 0.00001) on 20,000 unmarked texts: 5,000 each of human documents at 512, 1,024 and 8,192 tokens (arXiv, C4, mC4, PG-19, Wikipedia) and 5,000 unmarked language-model texts; presence without grade B fired on 19; the gate was chosen on these same documents, so this is not a held-out result; the pass lines were sealed before any result was read29 Oct 2026 · Benchmarks: Text null campaign
Text, KGW, grade B
KGW, grade B at the shipped gate (p below 0.00001, exact binomial tail) on the same 20,000 unmarked texts as SynthID; presence without grade B fired on 32; the gate was chosen on these same documents, so this is not a held-out result, and KGW's rate shifts with the kind of text29 Oct 2026 · Benchmarks: Text null campaign

Voice calls (keyed stream)

All 14 call paths, with intervals

A keyed 70-bit payload through the stream marker, then a simulated phone path, 100 calls per row. The shipped default, with the phase search off. No stock run on these rows. Measured 28 Oct 2026. Each row's source is under the table.

Voice calls (keyed stream)
CallLaidline95% interval
8.0 s delivered, 16 kHz 100%100 of 100 96% to 100%
8.0 s delivered, 24 kHz 100%100 of 100 96% to 100%
10 s utterance, 16 kHz 100%100 of 100 96% to 100%
10 s utterance, 24 kHz 100%100 of 100 96% to 100%
8 s utterance fed (7.5 s delivered), 16 kHz 0%0 of 100 0% to 4%
9.5 s excerpt off the 20 ms grid, 16 kHz 6%6 of 100 2% to 13%
G.711 mu-law 100%100 of 100 96% to 100%
Opus at 24 kbps 100%100 of 100 96% to 100%
Opus at 12 kbps 98%98 of 100 92% to 99.5%
Opus at 8 kbps 0%0 of 100 0% to 4%
10% packet loss, repeat-last fill 100%100 of 100 96% to 100%
White noise at 25 dB 83%83 of 100 74% to 90%
Babble noise at 20 dB 94%94 of 100 87% to 98%
Reverberant room, 0 dB direct-to-reverb 8%8 of 100 4% to 15%
How each row was measured
8.0 s delivered, 16 or 24 kHz
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, 100 units of 30 s cut from their start at 8.0 s delivered, payload read = tag verified and payload equal to the one written; 0 wrong; 7.5 s reads nothingBenchmarks: Length and presence
10 s utterance, 16 or 24 kHz
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cell; 10 s fed delivers 9.5 sBenchmarks: Length and presence
8 s utterance fed (7.5 s delivered), 16 kHz
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cell; 8 s fed delivers 7.5 s, under the floor, so the payload reads nothing and the presence is keptBenchmarks: Length and presence
9.5 s excerpt off the 20 ms grid, 16 kHz
9.5 s excerpts from random points of 30 s units, starting 1 to 319 samples off the grid; on the grid the same excerpts read 100 of 100; presence fired on 81 %; the phase search added since is not in this run (switched on, the v2 matrix of 2026-10-30 reads 194 of 200 at 16 kHz, pooled over two runs)Benchmarks: Alignment
G.711 mu-law
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cell; A-law also 100 of 100Benchmarks: Codecs
Opus at 24 kbps
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cell; Opus at 32 and 16 kbit/s also 100 of 100Benchmarks: Codecs
Opus at 12 kbps
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cellBenchmarks: Codecs
Opus at 8 kbps
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cell; the codec removes the mark: 4 of 50 even with the delay removedBenchmarks: Codecs
10% packet loss, repeat-last fill
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cell; zero fill also 100 of 100; 1, 3 and 5 % also 100 of 100Benchmarks: Packet loss, noise and reverb
White noise at 25 dB
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cell; 30 dB 99 of 100, 20 dB 30 of 100; half the payloads are lost at about 22 dBBenchmarks: Packet loss, noise and reverb
Babble noise at 20 dB
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cellBenchmarks: Packet loss, noise and reverb
Reverberant room, 0 dB direct-to-reverb
Keyed 70-bit payload through the buffered stream marker, shipped default read (phase search off) on a GPU, payload read = tag verified and payload equal to the one written; 100 units per cell; presence on the public tier 94 of 100; across RT60 0.1 to 0.5 s the CPU sweep read 3 to 13 % (30 units each)Benchmarks: Packet loss, noise and reverb

Opt-in phase search, ships off

Both call paths, with intervals

Keyed audio payload through a simulated phone path, 200 calls per row, read with the phase search switched on. The default keeps it off. No stock run on these rows. Measured 30 Oct 2026. Source: Benchmarks: With the phase search on.

Opt-in phase search, ships off
CallLaidline95% interval
Opt-in phase search, off-grid calls 97%194 of 200 93% to 99%
Opt-in phase search, G.722 calls 96%192 of 200 92% to 98%
How each row was measured
Opt-in phase search, off-grid calls
Opt-in phase search, ships off: keyed 70-bit payload, 9.5 s excerpts of 16 kHz speech starting off the 20 ms grid, read with the phase search switched on, 200 units, payload read = tag verified; with the search off, the shipped default, the same cell reads 6 of 100; on 26,000 unmarked units the search picked a keyless payload twice and the tag check rejected both
Opt-in phase search, G.722 calls
Opt-in phase search, ships off: keyed 70-bit payload, 10 s of speech through simulated G.722, read with the phase search switched on, 200 units, payload read = tag verified; with the search off, the shipped default, the same cell reads 0 of 100

Other measurements

All 8 measurements, with intervals

No stock run on these rows. Measured 29 Sep to 27 Oct 2026. Each row's date and source are under the table.

Other measurements
EditLaidline95% interval
Images, lowest of rotate, turns, screenshot and 75% crop 100%100 of 100 96% to 100%
Keyframe scheme, clips with no edit 96%167 of 173 92% to 99%
Opus 12 kbps, GPU deep scan 94%188 of 200 89% to 97%
Fingerprint match, codec rows pooled 99.7%1,994 of 2,000 99.3% to 99.9%
Fingerprint match, lowest row (Opus 12 kbps) 97%194 of 200 93% to 99%
A 3 s mark inside 30 s of speech 98%98 of 100 92% to 99.5%
Same-model paraphrase, SynthID 49%99 of 200 42% to 57%
Same-model paraphrase, KGW 57%114 of 200 50% to 64%
How each row was measured
Images, lowest of rotate, turns, screenshot and 75% crop
PixelSeal, product embed and default reads, COCO val2017; the lowest of rotate +5°, rotate -5°, rotate 90°, rotate 180°, screenshot and centre crop 75%, each 100 of 10030 Sep 2026 · Grading: PixelSeal image scheme
Keyframe scheme, clips with no edit
Keyframe scheme, keyed payload read back with its tag verified on 173 clips (2 refused by the quality floor) with no edit; the same test reads 169 of 174 for VideoSeal and 172 of 174 for keyed VideoSeal27 Oct 2026 · Benchmarks: Video null campaign
Opus 12 kbps, GPU deep scan
Keyed 70-bit payload, deep scanning (hardened read) on a GPU, excerpts at any sample; best effort, no line; every other binding row 200 of 20012 Oct 2026 · Benchmarks: The GPU standard, deep scanning on a GPU
Fingerprint match, codec rows pooled
Keyed audio fingerprint confirmation on the product path, F1's 10 s cuts, 200 clips per codec row, ten rows; measured 2026-10-12 and 1313 Oct 2026 · Benchmarks: Keyed audio fingerprint confirmation
Fingerprint match, lowest row (Opus 12 kbps)
As the pooled fingerprint row; the 6 misses are payload reads (194 of 194 confirmed when the payload was chosen)13 Oct 2026 · Benchmarks: Keyed audio fingerprint confirmation
A 3 s mark inside 30 s of speech
Keyed P70 at alpha 1.41, full tier, decode hardened with the cell gate and the located path (before, the fine-read floor alone: 93)13 Oct 2026 · Grading: The cell gate for keyed P70 audio and the located path
Same-model paraphrase, SynthID
SynthID at temperature 1.0, fast test (the hardened decode answers as fast for SynthID); a designed limit29 Sep 2026 · Robustness baseline: Cross-media matrix
Same-model paraphrase, KGW
KGW at temperature 1.0, fast test of the robustness baseline; not re-measured under the hardened decode; a designed limit (greedy KGW: 61 of 200, 30.5%)29 Sep 2026 · Robustness baseline: Cross-media matrix

Time

All 3 timings

Wall-clock time on the CPU. Measured 11 to 19 Oct 2026. Sources: Benchmarks: PixelSeal, the default scheme and Benchmarks: Keyframe reader on ONNX Runtime. Each row's date is under the table.

Time
TaskTime
Mark one 1024 × 1024 photo 1.1 s
Check a 5 s clip, 2 threads 5.4 s
Check a 5 s clip, 8 threads 2.8 s
How each row was measured
Mark one 1024 × 1024 photo
PixelSeal mark through the public API on the CPU, timestamp authority per asset19 Oct 2026 · Benchmarks: PixelSeal, the default scheme
Check a 5 s clip, 2 or 8 threads
Keyframe scheme (the CPU scheme; VideoSeal is the default), hardened keyframe decode, fingerprint frame included; the Xiph Akiyo clip at CIF. The Xiph Old Town Cross clip at 720p50: 12.308 s at 2 threads, 5.614 s at 8 threads11 Oct 2026 · Benchmarks: Keyframe reader on ONNX Runtime

Known limits, including paraphrase, are in Robustness baseline: Proposed targets where none is set.

Outside what the product is built for, in our runs:

Audio under 8 s carries no payload; 0% (n=167 · 28 Oct · 0% to 3%) of marked clips read one.

The audio payload is built for speech and conversations of 8 s or more, not music.

Marked music read back its keyed payload in 64% (n=70 · 28 Oct · 52% to 75%).

An unkeyed deployment flagged 7.3% (n=4,979 · 28 Oct) of unmarked music tracks.

A full same-model paraphrase leaves 49% (n=200 · 29 Sep · 42% to 57%) of SynthID marks.

A full same-model paraphrase leaves 57% (n=200 · 29 Sep · 50% to 64%) of KGW marks.

Read the robustness baseline

Mark your first output today.