|
| 1 | +# Research-informed signal hardening |
| 2 | + |
| 3 | +This note connects three scientific papers to specific Signal Sieve changes. |
| 4 | +These are defensive engineering adaptations, not reproductions of the papers' |
| 5 | +benchmarks or claims of a universal watermark detector. All examples are |
| 6 | +synthetic and native analysis stays offline. |
| 7 | + |
| 8 | +## 1. Invisible text and misleading displays |
| 9 | + |
| 10 | +**Boucher et al., _Bad Characters: Imperceptible NLP Attacks_ (IEEE S&P 2022).** |
| 11 | +[Paper](https://arxiv.org/abs/2106.09898) |
| 12 | + |
| 13 | +The paper studies invisible characters, homoglyphs, reordering and deletion |
| 14 | +controls that can cause differences between displayed and processed text. |
| 15 | + |
| 16 | +**Engineering application:** community reports, errors and candidate previews |
| 17 | +now expose invisible/control scalars as `⟦U+XXXX⟧`. This includes backspace, |
| 18 | +delete, escape and carriage return rather than interpreting their display |
| 19 | +effects. Previews are bounded to 8,000 scalars and visibly indicate truncation; |
| 20 | +analysis and explicit candidate acceptance continue to use the original bytes. |
| 21 | +Ordinary Arabic/Hebrew letters, newlines and tabs are preserved in previews. |
| 22 | + |
| 23 | +This is a display safeguard, not a complete Unicode confusable detector or |
| 24 | +proof that a flagged character was inserted maliciously. Context-sensitive |
| 25 | +emoji/script cleaning policy is unchanged. |
| 26 | + |
| 27 | +## 2. Do not hide local signals inside document averages |
| 28 | + |
| 29 | +**Kirchenbauer et al., _On the Reliability of Watermarks for Large Language |
| 30 | +Models_ (ICLR 2024).** [Paper](https://arxiv.org/abs/2306.04634) |
| 31 | + |
| 32 | +The paper examines edited and mixed-origin documents. Its WinMax detector |
| 33 | +uses keyed token evidence over spans and requires false-positive calibration |
| 34 | +for the multiple-window search. |
| 35 | + |
| 36 | +**Engineering application:** Surface Regularity now examines overlapping |
| 37 | +180-word windows, normally 90 words apart, and shows up to three non-overlapping |
| 38 | +repetitive regions by word offset. It uses existing repetition/diversity |
| 39 | +features. At most 256 windows are examined; longer documents use evenly spaced |
| 40 | +starts including the first and last, with an explicit sampled-coverage notice. |
| 41 | + |
| 42 | +This is **not WinMax**: there are no keyed green-list hits, z-tests or calibrated |
| 43 | +p-values. Local maxima never increase the document's global heuristic score. |
| 44 | +A highlighted region is a review clue; no highlight does not establish absence |
| 45 | +of a watermark. Word offsets refer to the app's lexical segmentation. |
| 46 | + |
| 47 | +## 3. Repeated text is not independent evidence |
| 48 | + |
| 49 | +**Dathathri et al., _Scalable watermarking for identifying large language model |
| 50 | +outputs_ (Nature 2024).** |
| 51 | +[Paper](https://www.nature.com/articles/s41586-024-08025-4) |
| 52 | + |
| 53 | +SynthID-Text uses keyed context-dependent sampling and scoring; the paper also |
| 54 | +describes repeated-context masking. Its measurement conditions cannot be |
| 55 | +replaced by word count or surface regularity alone. |
| 56 | + |
| 57 | +**Engineering application:** the probe reports distinct four-word contexts |
| 58 | +against all four-word context positions. Below 50% distinct contexts it warns |
| 59 | +that repetition dominates the sample. This 50% threshold is a product heuristic, |
| 60 | +not a threshold from the paper or a calibrated estimate of effective sample |
| 61 | +size. Duplicating a paragraph increases length without manufacturing new |
| 62 | +contextual diversity. Words here are not the provider's model tokens. |
| 63 | + |
| 64 | +No SynthID key, tokenizer, detector model, or vendor attribution is supplied by |
| 65 | +this change. Short or repetitive human writing is not labelled AI-generated. |
| 66 | + |
| 67 | +## Defensive validation |
| 68 | + |
| 69 | +`ResearchSignalHardeningTests.swift` covers display controls and bounded |
| 70 | +previews, a repetitive island inside a diverse document, duplicated contexts, |
| 71 | +sampled-window coverage, oversized input and nonfinite display values. |
| 72 | +`CommunityCleanReviewTests.swift` and `CommunityWatermarkServiceTests.swift` |
| 73 | +cover the separate community-adapter trust boundary and acceptance checks. |
| 74 | + |
| 75 | +The probe refuses input above the shared 1 MiB UTF-8 budget before analysis. |
| 76 | +Statistical signals remain separate from exact Unicode findings. Future |
| 77 | +provider detection needs independently reviewed keys/configuration, appropriate |
| 78 | +negative controls, language/domain coverage and measured false-positive rates. |
| 79 | + |
| 80 | +### Validation record — 2026-09-06 |
| 81 | + |
| 82 | +- 321 Swift tests passed, including 27 focused community/probe/research tests. |
| 83 | +- All 47 native test groups passed, including Apple Vision OCR. |
| 84 | +- The development quality gate passed packaging, warnings, privacy checks, |
| 85 | + linkage and ad-hoc signature verification. This is not notarization. |
| 86 | +- Real upstream adapter preflight passed against |
| 87 | + [`d9e9590d94e19b39eb2794266292324bfec8249a`](https://github.com/guillaumemeyer/watermarks-remover/commit/d9e9590d94e19b39eb2794266292324bfec8249a): |
| 88 | + health, capabilities, structured suspicious verdict and HTTP 400 missing- |
| 89 | + rewrite configuration. The service was bound to loopback, used synthetic |
| 90 | + text and was stopped after the check. No rewrite model was downloaded. |
| 91 | +- A real configured Layer B clean output was **not** tested in this pass. |
| 92 | + The preflight explicitly reports that limitation; it is not a watermark |
| 93 | + removal benchmark or an end-to-end rewrite certificate. |
0 commit comments