Nishi Family › Compare › Ethical Clean-Serve -- Safe Delivery of the Hostile Web
Nishi Compare · capabilities, evidence and delivery
Ethical Clean-Serve -- Safe Delivery of the Hostile Web
Compare capabilities and delivery evidence. Source discovery, qualification, deployment and accepted outcomes are separate; an open contract names work still to verify.
The roadmap-binding board behind /compare/cleanserve. Rival codes copied verbatim from cleanserve.sota; Nishi cells are MEASURED -- the ranker requires the implementing symbol as a top-level func in the real organ source on disk.
Overview
The purpose, declared position and evidence coverage of this domain. Source presence and completed acceptance are different measures.
Where we are. Clean-serve is narrow-but-deep. It stands alone in the field on five structural axes: the hostile page's active content is neutralized SERVER-SIDE so its JavaScript never executes in the user's browser at all, safe ads are PRESERVED as inert static creatives instead of blocked, every page emits a machine-readable safety receipt, difficult-but-legal sites are served neutrally rather than deranked, and the whole path is a zero-third-party sovereign stack. It honestly trails a decade-old blocker on breadth. The anti-vanity count is 5 Best against 9 No.
Where we need to go. Close the breadth gap WITHOUT trading away the structural wins. Nothing here requires abandoning server-side neutralization, which is the one axis a browser extension cannot reach by construction. A rung is done when the matrix cell it targets can honestly change grade, proven by a gate, not when the code exists.
Latest recorded release
2026-09-02 · CS9
LIVE 2026-09-02: /api/build BUILT 632,400 B sha256 0a18a51a (src 989d68bf); nx_contentdiff against my own CS6 build lost exactly ONE run, the banner literal deliberately split to insert the ad-video count; /api/deploy target=cleanserve with confirm_gate_override=yes (AUDITED, the same five unrelated RED domains), deploy_status DEPLOYED-GREEN listen=VERIFIED, live hash confirmed. LIVE measured: hornyleak.tv no ad video and no wrong player (receipt ad_videos 1), cdn.semyana.website direct mp4 served bare, noodlemagazine and prostoporno players extracted, camwhores unchanged. The gate nx_clean_serve_gate (52 of 52 locally, BUILT 61,728 B on the NAS) is REFUSED promotion under D001 because it rolls its own verdict, so no /api/gate_run receipt and no cleanserve.gates row exists for it: the gv_check migration is owed before it can be counted as executed evidence.
Release entries describe recorded changes; they do not establish that every capability passed evaluation.
9 of 18 capability source symbols found|3 of them authored stronger-claims|9 open|coverage 500/1000|adoption 8 full / 1 partial
Evidence profile — what the gaps on this board actually are
Measured by nx_swcompare_evidence, read back by nx_evprofile_lib. Every figure is a count with its denominator — there is deliberately no score, no grade and no percentage anywhere in this band, because a stored scalar is a field a seat can edit and a counted partition is not.
evidence|grounded 9/9|unsupported 0|gates green 2/2|proven able to fail 0/2|never bitten 2|green at 0/0 0|open gaps 9|of them unnamed 0|of them proof withheld 0|flips ready 1
proven able to fail counts the gates that have a RECORDED RED — nx_gate_bite mutated the gate subject, rebuilt it, watched the gate go red, and that record is inside the shared TTL. never bitten is its complement over the same denominator: those gates ran and were green, and nothing has ever shown them able to detect anything, so their green is a statement about this run and not about the gate. green at 0/0 is a separate and much weaker observation — the gate printed GREEN on a zero denominator, so its own tooth counter says it examined nothing. A gate can be green, non-zero, and still never bitten; that is the common case and it is now visible instead of implied.
partition: grounded + unsupported = 9 vs present 9 · named + unnamed + withheld = 9 vs open 9 · both reconcile
liar-kill conj=GPQN · all four conjuncts held
graded document: BUILDROOT tree, 11890 bytes · gates map: PRIMARY · stamped 35d 21h ago · STALE against the shared TTL of 604800s — this is evidence about a build nobody can vouch for now · source ../knowledge/status/evstamp_cleanserve.verdict
| Gap class | What it is, and the work it names |
|---|---|
| FLIP-READY | A watch contract symbol is now present in the organ it named: the cell can flip on a pure data edit with no new code. These are the cheapest closures on this board and they belong before any new work. |
| STALE | This profile is older than the shared TTL, or its clock ran backwards. It is reported as unusable rather than as fresh, because being wrong in the direction of refusing is the safe direction. |
nx_swcompare_evidence cleanserve itself and are not carried on the stamp, so this page names the classes and the producer names the rows. That split is stated rather than hidden: a count without a worklist is not actionable, and this band is honest about which half of that it is.Production map
Follow the dependencies, declared acceptance criteria and recorded priorities. Inspect source binding before treating a rank as executable work.
Ranking source binding: PLAN_MATRIX_BOUND_ONLY. Recorded priorities require current acceptance evidence and resource checks before execution.
Ranking matches the captured plan and matrix only. Latest execution outcome, research freshness, accepted delivery and investment return are unverified.
Recorded priority estimates
Order from nx_compare_rank (nx_dr_ocm: (deficit + cost-of-delay + option + enables) x sponsor x self-sufficiency x momentum / cost). FINISH rows are rungs whose symbol is present but whose organ is short of full adoption: listed before new work by this heuristic. Priority is not measured delivery cost or execution readiness. Stamp: # asof=1790081653 domain=cleanserve target_version=v1 breadth rungs=11 done=2 open=9 finish=0 ranker=nx_dr_ocm
| # | Stage | Rung | Priority | Derivation |
|---|---|---|---|---|
| #1 | v1 breadth | Filter-list breadth to EasyList scale (CS1) _ABSENT_:fml_classify dossier | 1000 | v=80 m=1 c=80 |
| #2 | v1 breadth | Run framework JS inside clean-serve to resolve player media (CS2) _ABSENT_:vsf_sniff_url_net dossier | 1000 | v=130 m=1 c=130 |
| #3 | later | Same-site embed follow to the real player (CS10) _ABSENT_:csd_embed_follow dossier | 80 | v=2 m=2 c=50 |
| #4 | later | Blocker-fingerprint neutrality - the clean view trips no anti-adblock wall (CS8) _ABSENT_:csn_blocker_probe dossier | 38 | v=5 m=1 c=130 |
| #5 | later | Autonomous site census and class ranking (CS11) _ABSENT_:ccl_classify dossier | 25 | v=1 m=2 c=80 |
| #6 | later | Fingerprint resistance depth (CS4) _ABSENT_:fpd_randomize dossier | 15 | v=2 m=1 c=130 |
| #7 | later | Archive capture at scale (CS5) _ABSENT_:csa_warc_emit dossier | 15 | v=2 m=1 c=130 |
| #8 | later | Pass the Cloudflare managed JS challenge (CS3) _ABSENT_:cfc_solve dossier | 9 | v=2 m=1 c=210 |
| #9 | later | Sovereign media relay for token-bound and IP-bound streams (CS7) _ABSENT_:csr_media_relay dossier | 0 | v=0 m=2 c=80 |
Declared roadmap — contract, acceptance, executor, effort
| Rung | Closes with | Definition of done (pre-declared) | Executor | Est. |
|---|---|---|---|---|
| Filter-list breadth to EasyList scale (CS1) | _ABSENT_:fml_classify | Pre-declared: over the SAME six sites already measured live (HN, guardian, arstechnica, techcrunch, nytimes and one control), the neutralized-tracker count must be printed PER SITE beside the count uBlock Origin blocks on that same page, and clean-serve must be no lower on any of the six. A total that improves while one site regresses does NOT pass -- the per-site list is the verdict, not the sum. Closes the .sota rows graded n for filter-list breadth and real-time auto-update. Organ: runtime/nx_filter_ml.nx | claude | 8 u |
| Run framework JS inside clean-serve to resolve player media (CS2) | _ABSENT_:vsf_sniff_url_net | Pre-declared: minified jQuery 3.7.1 already LOADS in the sovereign JS VM, so the gate is not can-it-parse. It is that a page whose media URL is only computable by running its player script yields a playable native element, with a NEGATIVE CONTROL: a page whose media is already static must be byte-identical before and after, or the win is a rewrite rather than a resolution. This is F108d, and the symbol is the one the .sota names as not yet wired. Organ: runtime/nx_cleanserve_jsexec.nx | claude | 13 u |
| Pass the Cloudflare managed JS challenge (CS3) after CS2 | _ABSENT_:cfc_solve | Pre-declared: a site currently returning a challenge interstitial returns its real article, AND the receipt still reports the neutralization counts for that page. Passing the challenge while losing the receipt would trade the unique axis for a common one. Organ: runtime/nx_cf_challenge.nx | claude | 21 u |
| Fingerprint resistance depth (CS4) | _ABSENT_:fpd_randomize | Pre-declared: the zero-JS view already removes JS fingerprinting, so the gate must NOT re-measure that. It must show a difference on a surface that SURVIVES zero-JS, or state UNOBSERVABLE. A gate that passes because JS is absent is measuring the previous rung. Organ: runtime/nx_fingerprint_defense.nx | claude | 13 u |
| Archive capture at scale (CS5) after CS2 | _ABSENT_:csa_warc_emit | Pre-declared: a captured page replays with its text and images intact and the record DECLARES what it did not capture. Browsertrix-scale JS-render fidelity is explicitly NOT claimed; the done-rule is an honest fidelity statement plus a replay, not parity. Organ: runtime/nx_cleanserve_archive.nx | claude | 13 u |
Milestones
| Milestone | Rungs | Cumulative |
|---|---|---|
| Breadth parity · the two rungs that close the widest honest gaps | CS1,CS2 | 21 u |
| Access · reach pages the field can reach today | CS3 | 42 u |
| Rung | Closes with | Definition of done (pre-declared) | Executor | Est. |
|---|---|---|---|---|
| Entity-body contract - a CRLF page keeps its player (CS6) | cs_entity_body_off | Pre-declared and MET 2026-09-02: the fetcher returns the entity body, so the clean path may strip an HTTP header block ONLY when the buffer begins with a status line. Gate nx_clean_serve_gate TEST D: a CRLF page whose first blank line falls after the player must reach the extractor whole (neg-control: the old blank-line scan provably cuts that same fixture), a real wire response is still stripped exactly past its headers, an LF-only page is unchanged. Live proof: camwhores.tv/videos/1855636 served with NO video element before, a native video element carrying the page's own get_file URL after. Organ: runtime/_hdl_build/nx_clean_serve.nx | claude | 1 u |
| Sovereign media relay for token-bound and IP-bound streams (CS7) after CS6 | _ABSENT_:csr_media_relay | Pre-declared: a stream URL the page mints for the FETCHER (KVS get_file with v-acctoken, expiring CDN acctoken) must play in the user's browser even when the CDN binds it to the fetching IP or to a Referer -- the daemon relays the bytes over its own sovereign TLS with Range passthrough, never exposing the upstream token to the client. Gate: a fixture CDN that refuses a second IP must still yield a 206 through the relay, and a NEGATIVE CONTROL: a plain public mp4 must still be served DIRECT (byte-identical page), or the relay is a rewrite rather than a fallback. UNMEASURED today whether camwhores.tv binds by IP: the NAS and the operator's laptop share egress 75.28.18.94, so the only test available could not discriminate. Organ: runtime/nx_cleanserve_relay.nx | claude | 8 u |
| Blocker-fingerprint neutrality - the clean view trips no anti-adblock wall (CS8) after CS1 | _ABSENT_:csn_blocker_probe | Pre-declared (operator 2026-09-02: clean browsing for the Nishi browser and OS must carry no attack vectors AND must not trigger the uBlock-class detection thumbprints): over a named corpus of anti-adblock sites the served clean view must render the article with ZERO adblock-wall markup and ZERO detection beacons in the receipt, measured per site beside what a stock browser with uBlock Origin shows on the same page; a site where the wall survives is a named failure, never a total. The mechanism is already structural (no page JS runs, so no detector can run) -- the gate must prove it on real walls, and its neg-control is a page whose wall is server-rendered HTML that the CSS surrogate must hide without hiding the article. Organ: runtime/nx_cleanserve_neutrality.nx | claude | 13 u |
Milestones
| Milestone | Rungs | Cumulative |
|---|---|---|
| Depth and durability · the remaining two No axes | CS4,CS5 | 68 u |
| Rung | Closes with | Definition of done (pre-declared) | Executor | Est. |
|---|---|---|---|---|
| Declared-metadata resolve, candidate ranking and same-site embed follow (CS9) after CS6 | _ABSENT_:csd_media_rank | Pre-declared 2026-09-02 from three live failures: hornyleak.tv served a RELATED-VIDEO PREVIEW CLIP as the player because the first .mp4 literal in the page won (15 hover previews on hdplayer.gives) while the real player is the site's own same-origin /embed/904/ iframe the policy strips and the page carries a schema.org VideoObject; hdthot.com (JW Player, og:video declared, no .mp4 literal) yielded no player at all; a direct mp4 URL given to /clean (cdn.semyana.website, 57.5 MB, 206 with and without Referer) was fetched as a page into the 8 MiB buffer and reported Fetch failed. Done-rule, MET 2026-09-02 (symbol csd_media_rank): declared metadata first (JSON-LD VideoObject contentUrl, og:video, og:video:secure_url, twitter:player:stream, and a declaration naming the page itself is rejected by the media-extension test), then literal stream candidates ranked against a NAMED skip table (hover previews, thumbnails, vast, preroll, the IAB creative sizes 728x90 300x250 160x600 320x50 300x600 970x250, ad paths, banner) read from knowledge/cleanserve_media_skip.conf with bootstrap rows in the lib, a KVS field that names a skipped clip is dropped too, a URL that is itself media is played bare with no page fetch, and an autoplaying ad VIDEO element in the page is removed and counted in the receipt as ad_videos. Gate nx_clean_serve_gate TEST E: 15 teeth incl. neg-controls (content mp4 not skipped, a conf table replaces the bootstrap rows, the real player beside an ad survives, fixture A counts 0). The same-site embed follow is rung CS10. Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx | claude | 3 u |
| Same-site embed follow to the real player (CS10) after CS9 | _ABSENT_:csd_embed_follow | Pre-declared 2026-09-02 from hornyleak.tv: the page's own player is an iframe to the site's /embed/904/, which in turn frames hdplayer.gives/embed/<id> (a dplayer config); the policy strips iframes by design, so the page yields NO player after CS9 (correct, no ad video either). Done-rule: follow at most TWO bounded hops of iframe src starting same-site (the site's own /embed/ path, then the provider it frames), each SSRF-guarded and fetched over sovereign TLS, run the CS9 resolver on each hop's body, and emit the first media that survives; a NEGATIVE CONTROL page whose iframe is an ad widget (creative.hornyleaklive.com) must NOT be followed (skip-table on the iframe host and path). Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx | claude | 5 u |
| Autonomous site census and class ranking (CS11) after CS9 | _ABSENT_:ccl_classify | Operator 2026-09-02: clean-serve must grow autonomously, delivering more sites without the garbage. The mechanism is a corpus plus a beat: knowledge/cleanserve_sites.conf (every URL the operator or a seat has tried, seeded today with 11) is walked by nx_cleanserve_census on a daily clock row through the LIVE /clean; each row is classified by ONE ruler (ccl_classify in nx_cleanserve_census_lib, gate-tested over canned clean-view bodies) into PLAYER, NO-PLAYER, AD-VIDEO, FETCH-FAIL, BLOCKED or CHALLENGE, a time-spine row is appended (knowledge/status/cleanserve_census.log, plane cleanservecensus-), a truncate-written status names the partition with sums and the top failing class, and a log row lands on THIS plan so the ranker prices the class with the most sites behind it. Done-rule: the beat runs on the clock plane, the partition sums to the corpus, a planted regression (a page that stops yielding a player) flips its class on the next beat and the status names it, and a row added to the corpus is measured on the next beat without any code change. Organ: runtime/nx_cleanserve_census.nx | claude | 8 u |
Milestones
| Milestone | Rungs | Cumulative |
|---|---|---|
| Media delivery · the player must actually play: entity-body contract shipped, metadata-first resolve shipped, relay and embed follow open | CS6,CS7,CS9,CS10 | 17 u |
| Autonomy · the corpus and the beat that choose the next rung by count | CS11 | 8 u |
| Neutrality · the clean view is invisible to blocker detectors | CS8 | 13 u |
| Class | Count | Note |
|---|---|---|
| bars | 0 | sotabar rows on the plan |
| fresh | 0 | the bar month is the current month |
| attested | 0 | an older bar with a this-month barscan reporting no newer entry |
| stale | 0 | a this-month scan saw a newer month the bar ignores |
| unattested | 0 | nobody looked this month |
| malformed | 0 | a sotabar row missing a field |
| duplicate | 0 | bar ids an earlier row already carries |
| bars, summed | 0 | RECONCILED: the parts sum to the total 0 |
| current month | 2026-10 | the month every bar is judged against |
Inspect a rung and its prerequisites
Declared nodes 11. Rank input binding: PLAN_MATRIX_BOUND_ONLY. Dependency order is authored. Implementation, acceptance evidence, authority and resource readiness are unverified. No action is recommended or dispatched here.
Plan SHA-256 02dfd43ecc558f5af843b0f8f59ce0244da604447babc1111b89b28559848b68. Target rows 0; role rows 0. Existing risks and release worklog retain their own scope; no node completion is inferred.
Runtime observation coverage: 0 of 11 rungs have current, identity-bound execution observations. Observation may report RED. Accepted completion remains unknown; source presence, qualification and deployment do not establish it.
Use Enter or Space on a rung to inspect its contract. Prerequisite links locate another rung in this list; open its summary to inspect it. Estimates are authored effort, not forecasts.
CS1 — Filter-list breadth to EasyList scale
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
_ABSENT_:fml_classifyAcceptance: Pre-declared: over the SAME six sites already measured live (HN, guardian, arstechnica, techcrunch, nytimes and one control), the neutralized-tracker count must be printed PER SITE beside the count uBlock Origin blocks on that same page, and clean-serve must be no lower on any of the six. A total that improves while one site regresses does NOT pass -- the per-site list is the verdict, not the sum. Closes the .sota rows graded n for filter-list breadth and real-time auto-update. Organ: runtime/nx_filter_ml.nx
Authored effort: 8. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS2 — Run framework JS inside clean-serve to resolve player media
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
_ABSENT_:vsf_sniff_url_netAcceptance: Pre-declared: minified jQuery 3.7.1 already LOADS in the sovereign JS VM, so the gate is not can-it-parse. It is that a page whose media URL is only computable by running its player script yields a playable native element, with a NEGATIVE CONTROL: a page whose media is already static must be byte-identical before and after, or the win is a rewrite rather than a resolution. This is F108d, and the symbol is the one the .sota names as not yet wired. Organ: runtime/nx_cleanserve_jsexec.nx
Authored effort: 13. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS3 — Pass the Cloudflare managed JS challenge
Prerequisites: CS2 (acceptance unverified)
Contract:
_ABSENT_:cfc_solveAcceptance: Pre-declared: a site currently returning a challenge interstitial returns its real article, AND the receipt still reports the neutralization counts for that page. Passing the challenge while losing the receipt would trade the unique axis for a common one. Organ: runtime/nx_cf_challenge.nx
Authored effort: 21. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS4 — Fingerprint resistance depth
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
_ABSENT_:fpd_randomizeAcceptance: Pre-declared: the zero-JS view already removes JS fingerprinting, so the gate must NOT re-measure that. It must show a difference on a surface that SURVIVES zero-JS, or state UNOBSERVABLE. A gate that passes because JS is absent is measuring the previous rung. Organ: runtime/nx_fingerprint_defense.nx
Authored effort: 13. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS5 — Archive capture at scale
Prerequisites: CS2 (acceptance unverified)
Contract:
_ABSENT_:csa_warc_emitAcceptance: Pre-declared: a captured page replays with its text and images intact and the record DECLARES what it did not capture. Browsertrix-scale JS-render fidelity is explicitly NOT claimed; the done-rule is an honest fidelity statement plus a replay, not parity. Organ: runtime/nx_cleanserve_archive.nx
Authored effort: 13. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS6 — Entity-body contract - a CRLF page keeps its player
Prerequisites: None declared; this does not establish execution eligibility.
Contract:
cs_entity_body_offAcceptance: Pre-declared and MET 2026-09-02: the fetcher returns the entity body, so the clean path may strip an HTTP header block ONLY when the buffer begins with a status line. Gate nx_clean_serve_gate TEST D: a CRLF page whose first blank line falls after the player must reach the extractor whole (neg-control: the old blank-line scan provably cuts that same fixture), a real wire response is still stripped exactly past its headers, an LF-only page is unchanged. Live proof: camwhores.tv/videos/1855636 served with NO video element before, a native video element carrying the page's own get_file URL after. Organ: runtime/_hdl_build/nx_clean_serve.nx
Authored effort: 1. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS7 — Sovereign media relay for token-bound and IP-bound streams
Prerequisites: CS6 (acceptance unverified)
Contract:
_ABSENT_:csr_media_relayAcceptance: Pre-declared: a stream URL the page mints for the FETCHER (KVS get_file with v-acctoken, expiring CDN acctoken) must play in the user's browser even when the CDN binds it to the fetching IP or to a Referer -- the daemon relays the bytes over its own sovereign TLS with Range passthrough, never exposing the upstream token to the client. Gate: a fixture CDN that refuses a second IP must still yield a 206 through the relay, and a NEGATIVE CONTROL: a plain public mp4 must still be served DIRECT (byte-identical page), or the relay is a rewrite rather than a fallback. UNMEASURED today whether camwhores.tv binds by IP: the NAS and the operator's laptop share egress 75.28.18.94, so the only test available could not discriminate. Organ: runtime/nx_cleanserve_relay.nx
Authored effort: 8. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS8 — Blocker-fingerprint neutrality - the clean view trips no anti-adblock wall
Prerequisites: CS1 (acceptance unverified)
Contract:
_ABSENT_:csn_blocker_probeAcceptance: Pre-declared (operator 2026-09-02: clean browsing for the Nishi browser and OS must carry no attack vectors AND must not trigger the uBlock-class detection thumbprints): over a named corpus of anti-adblock sites the served clean view must render the article with ZERO adblock-wall markup and ZERO detection beacons in the receipt, measured per site beside what a stock browser with uBlock Origin shows on the same page; a site where the wall survives is a named failure, never a total. The mechanism is already structural (no page JS runs, so no detector can run) -- the gate must prove it on real walls, and its neg-control is a page whose wall is server-rendered HTML that the CSS surrogate must hide without hiding the article. Organ: runtime/nx_cleanserve_neutrality.nx
Authored effort: 13. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS9 — Declared-metadata resolve, candidate ranking and same-site embed follow
Prerequisites: CS6 (acceptance unverified)
Contract:
_ABSENT_:csd_media_rankAcceptance: Pre-declared 2026-09-02 from three live failures: hornyleak.tv served a RELATED-VIDEO PREVIEW CLIP as the player because the first .mp4 literal in the page won (15 hover previews on hdplayer.gives) while the real player is the site's own same-origin /embed/904/ iframe the policy strips and the page carries a schema.org VideoObject; hdthot.com (JW Player, og:video declared, no .mp4 literal) yielded no player at all; a direct mp4 URL given to /clean (cdn.semyana.website, 57.5 MB, 206 with and without Referer) was fetched as a page into the 8 MiB buffer and reported Fetch failed. Done-rule, MET 2026-09-02 (symbol csd_media_rank): declared metadata first (JSON-LD VideoObject contentUrl, og:video, og:video:secure_url, twitter:player:stream, and a declaration naming the page itself is rejected by the media-extension test), then literal stream candidates ranked against a NAMED skip table (hover previews, thumbnails, vast, preroll, the IAB creative sizes 728x90 300x250 160x600 320x50 300x600 970x250, ad paths, banner) read from knowledge/cleanserve_media_skip.conf with bootstrap rows in the lib, a KVS field that names a skipped clip is dropped too, a URL that is itself media is played bare with no page fetch, and an autoplaying ad VIDEO element in the page is removed and counted in the receipt as ad_videos. Gate nx_clean_serve_gate TEST E: 15 teeth incl. neg-controls (content mp4 not skipped, a conf table replaces the bootstrap rows, the real player beside an ad survives, fixture A counts 0). The same-site embed follow is rung CS10. Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx
Authored effort: 3. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS10 — Same-site embed follow to the real player
Prerequisites: CS9 (acceptance unverified)
Contract:
_ABSENT_:csd_embed_followAcceptance: Pre-declared 2026-09-02 from hornyleak.tv: the page's own player is an iframe to the site's /embed/904/, which in turn frames hdplayer.gives/embed/<id> (a dplayer config); the policy strips iframes by design, so the page yields NO player after CS9 (correct, no ad video either). Done-rule: follow at most TWO bounded hops of iframe src starting same-site (the site's own /embed/ path, then the provider it frames), each SSRF-guarded and fetched over sovereign TLS, run the CS9 resolver on each hop's body, and emit the first media that survives; a NEGATIVE CONTROL page whose iframe is an ad widget (creative.hornyleaklive.com) must NOT be followed (skip-table on the iframe host and path). Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx
Authored effort: 5. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.CS11 — Autonomous site census and class ranking
Prerequisites: CS9 (acceptance unverified)
Contract:
_ABSENT_:ccl_classifyAcceptance: Operator 2026-09-02: clean-serve must grow autonomously, delivering more sites without the garbage. The mechanism is a corpus plus a beat: knowledge/cleanserve_sites.conf (every URL the operator or a seat has tried, seeded today with 11) is walked by nx_cleanserve_census on a daily clock row through the LIVE /clean; each row is classified by ONE ruler (ccl_classify in nx_cleanserve_census_lib, gate-tested over canned clean-view bodies) into PLAYER, NO-PLAYER, AD-VIDEO, FETCH-FAIL, BLOCKED or CHALLENGE, a time-spine row is appended (knowledge/status/cleanserve_census.log, plane cleanservecensus-), a truncate-written status names the partition with sums and the top failing class, and a log row lands on THIS plan so the ranker prices the class with the most sites behind it. Done-rule: the beat runs on the clock plane, the partition sums to the corpus, a planted regression (a page that stops yielding a player) flips its class on the next beat and the status names it, and a row added to the corpus is measured on the next beat without any code change. Organ: runtime/nx_cleanserve_census.nx
Authored effort: 8. Executor kind: claude. Responsible, accountable and verifier not established. Inspect retained worklog.
Runtime observation: UNKNOWN; outcome UNKNOWN; observed epoch -1. Declared owner: . Receipt
, SHA-256. Identity-bound observation is not accepted completion. Qualification and deployment remain unverified by this projection.
Learning and practice paths
No structured learning path is declared for this plan. Existing research, roadmap and worklog remain available above.
Rung dossiers — every record that bears on a rung, in one place
nx_swcompare_evidence cleanserve writes it beside its stamp); every gate below reads UNRECORDED until it runs.knowledge/organ_gate.conf read from this working directory (1 rows) and from the estate root (196 rows); rows in both counted once: 0; declarations read: 197. Every declaration in either copy counts, so a stub beside the publisher can never hide the root.CS1 Filter-list breadth to EasyList scale · cell WATCHING · gate NO-GATE-DECLARED
| Contract | _ABSENT_:fml_classify · executor claude · 8 u · stands on nothing |
|---|---|
| Definition of done | Pre-declared: over the SAME six sites already measured live (HN, guardian, arstechnica, techcrunch, nytimes and one control), the neutralized-tracker count must be printed PER SITE beside the count uBlock Origin blocks on that same page, and clean-serve must be no lower on any of the six. A total that improves while one site regresses does NOT pass -- the per-site list is the verdict, not the sum. Closes the .sota rows graded n for filter-list breadth and real-time auto-update. Organ: runtime/nx_filter_ml.nx |
| Matrix cell | Filter-list breadth EasyList-scale · runtime/nx_filter_ml.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_filter_ml; declare nx_filter_ml TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CS2 Run framework JS inside clean-serve to resolve player media · cell WATCHING · gate NO-GATE-DECLARED
| Contract | _ABSENT_:vsf_sniff_url_net · executor claude · 13 u · stands on nothing |
|---|---|
| Definition of done | Pre-declared: minified jQuery 3.7.1 already LOADS in the sovereign JS VM, so the gate is not can-it-parse. It is that a page whose media URL is only computable by running its player script yields a playable native element, with a NEGATIVE CONTROL: a page whose media is already static must be byte-identical before and after, or the win is a rewrite rather than a resolution. This is F108d, and the symbol is the one the .sota names as not yet wired. Organ: runtime/nx_cleanserve_jsexec.nx |
| Matrix cell | Run framework JS to resolve player media · runtime/nx_cleanserve_jsexec.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_jsexec; declare nx_cleanserve_jsexec TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CS3 Pass the Cloudflare managed JS challenge · cell WATCHING · gate NO-GATE-DECLARED
| Contract | _ABSENT_:cfc_solve · executor claude · 21 u · stands on CS2 |
|---|---|
| Definition of done | Pre-declared: a site currently returning a challenge interstitial returns its real article, AND the receipt still reports the neutralization counts for that page. Passing the challenge while losing the receipt would trade the unique axis for a common one. Organ: runtime/nx_cf_challenge.nx |
| Matrix cell | Pass Cloudflare JS challenge · runtime/nx_cf_challenge.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cf_challenge; declare nx_cf_challenge TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CS4 Fingerprint resistance depth · cell WATCHING · gate NO-GATE-DECLARED
| Contract | _ABSENT_:fpd_randomize · executor claude · 13 u · stands on nothing |
|---|---|
| Definition of done | Pre-declared: the zero-JS view already removes JS fingerprinting, so the gate must NOT re-measure that. It must show a difference on a surface that SURVIVES zero-JS, or state UNOBSERVABLE. A gate that passes because JS is absent is measuring the previous rung. Organ: runtime/nx_fingerprint_defense.nx |
| Matrix cell | Fingerprint resistance depth · runtime/nx_fingerprint_defense.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_fingerprint_defense; declare nx_fingerprint_defense TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CS5 Archive capture at scale · cell WATCHING · gate NO-GATE-DECLARED
| Contract | _ABSENT_:csa_warc_emit · executor claude · 13 u · stands on CS2 |
|---|---|
| Definition of done | Pre-declared: a captured page replays with its text and images intact and the record DECLARES what it did not capture. Browsertrix-scale JS-render fidelity is explicitly NOT claimed; the done-rule is an honest fidelity statement plus a replay, not parity. Organ: runtime/nx_cleanserve_archive.nx |
| Matrix cell | Link-rot archive capture WARC · runtime/nx_cleanserve_archive.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_archive; declare nx_cleanserve_archive TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CS6 Entity-body contract - a CRLF page keeps its player · cell PRESENT · gate NO-GATE-DECLARED
| Contract | cs_entity_body_off · executor claude · 1 u · stands on nothing |
|---|---|
| Definition of done | Pre-declared and MET 2026-09-02: the fetcher returns the entity body, so the clean path may strip an HTTP header block ONLY when the buffer begins with a status line. Gate nx_clean_serve_gate TEST D: a CRLF page whose first blank line falls after the player must reach the extractor whole (neg-control: the old blank-line scan provably cuts that same fixture), a real wire response is still stripped exactly past its headers, an LF-only page is unchanged. Live proof: camwhores.tv/videos/1855636 served with NO video element before, a native video element carrying the page's own get_file URL after. Organ: runtime/_hdl_build/nx_clean_serve.nx |
| Matrix cell | Entity-body contract - CRLF pages keep their player · runtime/_hdl_build/nx_clean_serve.nx · PRESENT decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_clean_serve; declare nx_clean_serve TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-02 measure LIVE /clean on camwhores.tv/videos/1855636 returned 42,888 B with NO video element while the page itself (81,570 B) carries a plain video_url in flashvars. The cleaned body began at byte 41,335 of the page and the receipt said 4 scripts -- exactly the 4 script tags after that byte. Cause read from source: nx_https_fetch_follow_best returns the entity body, and the daemon then ran a second header strip (first blank CRLF line) on HTML. Instrument: byte offsets of the live response against the raw page. 2026-09-02 retract The sota row Native HTML5 media delivery (graded Y, including KVS de-obfuscation) was TRUE ONLY FOR LF-FORMATTED PAGES: every CRLF page (KVS/kt_player tube sites, IIS, many CMSes) lost its head, player block and flashvars before extraction ran, so the grade rested on the six LF-only news sites it was measured on. Discriminating experiment: the cleaned body of a CRLF page starts at its first in-document blank line; an LF page starts at 0. 2026-09-02 lesson A CONSUMER THAT RE-STRIPS WHAT ITS PRODUCER ALREADY STRIPPED IS A DEFECT THAT HIDES ON EVERY INPUT THE PRODUCER HAPPENED TO NORMALISE. Two organs (the daemon and nx_cleanview) carried the same private blank-line scan; both now delegate to ONE ruler in the lib (cs_entity_body_off), which strips only when the buffer begins with an HTTP status line. And the fixture that proves it must spell CR LF as escapes: a literal CR in source was silently stripped by a text-mode copy on its first trip to the NAS. CHECK-BEFORE-BUILD, measured after the fact: of 32 consumers of nx_https_fetch_follow_best in the tree, exactly three re-strip, and the third (nx_fetch_any fa_body_off) ALREADY carried the correct status-line-guarded shape -- the clean-serve family held the unguarded twin of a ruler the estate had. 2026-09-02 measure REAL BROWSER (Waterfox 153 via Marionette, 2026-09-02): the operator's video 1855636 fails IDENTICALLY on camwhores.tv ITSELF (video.error=4 Failed to open media, networkState=3) and on the fixed clean view -- the site's redirector sends every request to CDN vhost camvideo32, which answers 403 (nginx), while the same file and the same token on vhost camvideo3 (same IP 176.98.190.24) answer 206; three other public videos on the site (12756124, 6461619, 6548478) redirect to healthy nodes and answer 206. Through the fixed clean view, 12756124 PLAYS in Waterfox: readyState 4, error null, 1920x1080, duration 786 s, currentTime advancing, 65 s buffered, receipt 15 scripts and 1 tracker neutralized. So the clean view is now at parity with the site on its own player URL; the cited video is refused by the site's CDN for everyone right now. 2026-09-02 queue NAS SHIP STATE at write time: lib ruler, gate teeth, daemon and nx_cleanview delegations are source-landed in buildroot (both trees identical for lib and gate); gate GREEN 37/37 locally and RED 34/37 against a planted revert of the ruler (restored byte-identical); daemon built locally (1,108,899 B) and proven end-to-end in a real browser. /api/build for nx_clean_serve_daemon and nx_clean_serve_gate was REFUSED by build admission (D-state storm, procs_blocked 9 of 8) and QUEUED (deployq rows BQ-nx_clean_serve_daemon, BQ-nx_clean_serve_gate); deploy_targets row cleanserve (gdeploy@cleanserve :8102) and daemons.reg revive (re-signed) are in place, pre-change binary banked as knowledge/status/nx_clean_serve_daemon.elf.bank-20260902-precrlf sha256 356c6df3. Next seat: when the BQ row reads fired-rc0, nx_contentdiff live vs stage, then /api/deploy target=cleanserve and re-run the live /clean check. 2026-09-02 land DEPLOYED 2026-09-02. /api/build BUILT 623,072 B sha256 34eb5538 from src 2f45a13a (a stale 532,574 B stage from another lane was banked as .prev, not overwritten). nx_contentdiff live vs stage read RED with 324 lost runs, ENUMERATED: 6 compiler pad runs (0x55 and 0x33 fill) plus 2 copies of one long Accept header that is absent from the current shared fetch-lib source (an estate-wide lib change predating this lane), and no clean-serve string lost. /api/deploy target=cleanserve was REFUSED by the pre-deploy gate (evidence-honesty BLOCK: five RED domains automation, swarm, videocodec, smallos, autodev, none of them cleanserve) and re-issued with confirm_gate_override=yes, recorded as AUDITED; deploy_status DEPLOYED-GREEN listen=VERIFIED. Live sha256 34eb5538 confirmed by nx_filehash. LIVE /clean now serves the native player with the site's own get_file URL for 1855636, 6461619 and 2108275 and /receipt reads 15 scripts and 1 tracker where it read 4 scripts and no video. 2026-09-02 lesson BING, MEASURED on the operator's URL and a Vimeo control through Waterfox: the detail view is Bing's own smtplayer element plus a per-result vrhm record (murl media URL, purl and pgurl page URL, thid OVP thumbnail id, mmsturl a 1.1 MB video/mp4 preview clip Bing RE-HOSTS on th.bing.com with CORS star and a 30-day cache, du duration, md5). For an embeddable provider the detail is the PROVIDER's iframe (player.vimeo.com/video/<id> with autoplay); for a site with no embed contract (camwhores /embed/<id> answers 404 for every video) Bing shows Sorry, this video is no longer available and never plays it. What to bring into the Nishi browser and OS: index-time preview clips and posters re-hosted on our own store (first-party, no hotlink), a declared-embed registry (VideoObject, og:video, provider embed templates), and for full playback the relay, which is the one thing Bing does NOT do for these sites. |
CS7 Sovereign media relay for token-bound and IP-bound streams · cell WATCHING · gate NO-GATE-DECLARED
| Contract | _ABSENT_:csr_media_relay · executor claude · 8 u · stands on CS6 |
|---|---|
| Definition of done | Pre-declared: a stream URL the page mints for the FETCHER (KVS get_file with v-acctoken, expiring CDN acctoken) must play in the user's browser even when the CDN binds it to the fetching IP or to a Referer -- the daemon relays the bytes over its own sovereign TLS with Range passthrough, never exposing the upstream token to the client. Gate: a fixture CDN that refuses a second IP must still yield a 206 through the relay, and a NEGATIVE CONTROL: a plain public mp4 must still be served DIRECT (byte-identical page), or the relay is a rewrite rather than a fallback. UNMEASURED today whether camwhores.tv binds by IP: the NAS and the operator's laptop share egress 75.28.18.94, so the only test available could not discriminate. Organ: runtime/nx_cleanserve_relay.nx |
| Matrix cell | Sovereign media relay for token-bound streams · runtime/nx_cleanserve_relay.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_relay; declare nx_cleanserve_relay TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-02 queue Whether the get_file token is IP-bound is UNMEASURED: the page's v-acctoken decodes to 315 / 1222460 / 0 / hash and the CDN redirect acctoken carries a 2 h expiry, but the NAS and the operator's laptop share egress 75.28.18.94, so a laptop 206 proves nothing about a remote viewer. Recipe: fetch /clean from an off-LAN vantage and GET the served video src with Range; a 403 there is the CS7 trigger. 2026-09-02 measure REAL-BROWSER CENSUS over five camwhores.tv videos through the fixed daemon: extraction correct 5 of 5, server-side Range 206 5 of 5 (nodes camvideo3, ghjtuthynvideos, camvideo8, v1, video15), DIRECT cross-origin video-element playback 1 of 5. 12756124 on woopeedoopcmwhrs.xyz plays; the four on wpnrtnmrewunrtok.xyz fail with media error 4 while the SAME URL plays from the site's own page and curl gets 206 seconds later on the daemon-minted token. Ruled out by control: token expiry, codec (all avc1 and mp4a, moov at the tail), response headers (byte-identical dumps across both families), Safe Browsing, the tracking-protection classifier (no table match), HTTP/2 (fails with h2 disabled), certificate chain (both Let's Encrypt). The browser creates the redirect-target channel and never opens a connection; the exact Firefox rule is UNATTRIBUTED. The consequence stands regardless: a bare cross-origin video src is not a delivery path for that CDN family, a same-origin relay is. erome.tv and hornyfans.to (get_file served by the site host, no third-party CDN hop) play. 1855636 additionally depends on which node the site's redirector assigns: camvideo32 answers 403 for everyone and camvideo3 answers 206 for the same file and token, and the assignment changed within the hour, which is the dynamic behaviour the operator saw on reload. 2026-09-02 lesson A CROSS-ORIGIN VIDEO SRC IS A REQUEST THE BROWSER MAKES ON THE VIEWER'S BEHALF UNDER RULES WE DO NOT CONTROL; ONLY A SAME-ORIGIN RELAY MAKES DELIVERY A PROPERTY OF OUR CODE. Second lesson, from hornyleak: THE FIRST .MP4 IN A PAGE IS THE FIRST .MP4 IN A PAGE, NOT THE VIDEO -- a page full of hover previews wins that race every time. 2026-09-02 queue The relay is now REQUIRED, not a nice-to-have: 4 of 5 KVS videos on the dominant CDN family cannot be played by a bare video element from our origin. Build: /clean/media?u=<upstream>&p=<page>, SSRF-guarded, sovereign TLS fetch with the client's Range passed through and the page origin as Referer, the redirect followed server-side, one retry on a 403 node (fresh redirect), streamed to the client with Content-Range and Accept-Ranges; the clean page's video src becomes same-origin. Needs a streaming primitive: nx_https_fetch_follow is buffered at 8 MiB, so either a windowed Range loop over it or a record-streaming variant of ff_core. |
CS8 Blocker-fingerprint neutrality - the clean view trips no anti-adblock wall · cell WATCHING · gate NO-GATE-DECLARED
| Contract | _ABSENT_:csn_blocker_probe · executor claude · 13 u · stands on CS1 |
|---|---|
| Definition of done | Pre-declared (operator 2026-09-02: clean browsing for the Nishi browser and OS must carry no attack vectors AND must not trigger the uBlock-class detection thumbprints): over a named corpus of anti-adblock sites the served clean view must render the article with ZERO adblock-wall markup and ZERO detection beacons in the receipt, measured per site beside what a stock browser with uBlock Origin shows on the same page; a site where the wall survives is a named failure, never a total. The mechanism is already structural (no page JS runs, so no detector can run) -- the gate must prove it on real walls, and its neg-control is a page whose wall is server-rendered HTML that the CSS surrogate must hide without hiding the article. Organ: runtime/nx_cleanserve_neutrality.nx |
| Matrix cell | Blocker-fingerprint neutrality - no anti-adblock wall trips · runtime/nx_cleanserve_neutrality.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_neutrality; declare nx_cleanserve_neutrality TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-02 queue Operator ask 2026-09-02: this lane is the test-bed for the Nishi browser and OS -- no attack vectors, and no uBlock-class detection thumbprint either. The zero-JS clean view cannot run a detector by construction, but the anti-adblock WALL markup can still be server-rendered; CS8 measures that on real walls and pairs it with CS1 breadth. |
CS9 Declared-metadata resolve, candidate ranking and same-site embed follow · cell LANDED · gate NO-GATE-DECLARED
| Contract | _ABSENT_:csd_media_rank · executor claude · 3 u · stands on CS6 |
|---|---|
| Definition of done | Pre-declared 2026-09-02 from three live failures: hornyleak.tv served a RELATED-VIDEO PREVIEW CLIP as the player because the first .mp4 literal in the page won (15 hover previews on hdplayer.gives) while the real player is the site's own same-origin /embed/904/ iframe the policy strips and the page carries a schema.org VideoObject; hdthot.com (JW Player, og:video declared, no .mp4 literal) yielded no player at all; a direct mp4 URL given to /clean (cdn.semyana.website, 57.5 MB, 206 with and without Referer) was fetched as a page into the 8 MiB buffer and reported Fetch failed. Done-rule, MET 2026-09-02 (symbol csd_media_rank): declared metadata first (JSON-LD VideoObject contentUrl, og:video, og:video:secure_url, twitter:player:stream, and a declaration naming the page itself is rejected by the media-extension test), then literal stream candidates ranked against a NAMED skip table (hover previews, thumbnails, vast, preroll, the IAB creative sizes 728x90 300x250 160x600 320x50 300x600 970x250, ad paths, banner) read from knowledge/cleanserve_media_skip.conf with bootstrap rows in the lib, a KVS field that names a skipped clip is dropped too, a URL that is itself media is played bare with no page fetch, and an autoplaying ad VIDEO element in the page is removed and counted in the receipt as ad_videos. Gate nx_clean_serve_gate TEST E: 15 teeth incl. neg-controls (content mp4 not skipped, a conf table replaces the bootstrap rows, the real player beside an ad survives, fixture A counts 0). The same-site embed follow is rung CS10. Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx |
| Matrix cell | Declared-metadata resolve, candidate ranking and embed follow · runtime/_hdl_build/nx_clean_serve_daemon.nx · LANDED decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_clean_serve_daemon; declare nx_clean_serve_daemon TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-02 land SHIPPED 2026-09-02 (build+deploy in flight on the NAS at write time; proven locally): cs_media_skip, cs_find_declared, cs_media_ext and cs_quoted_after in the lib, csd_media_rank and the bare direct-media player in the daemon, ad VIDEO elements stripped and counted (receipt field ad_videos, additive). Gate 52 of 52 locally. Measured through the fixed daemon: cdn.semyana.website direct mp4 now plays bare (was Fetch failed); hornyleak.tv no longer shows the 728x90 autoplay advertisement (ad_videos 1, no wrong player; the real player is a two-hop embed, rung CS10); hdthot.com stays honestly playerless (og:video names the page itself, rejected); camwhores, erome and hornyfans unchanged. 2026-09-02 land LIVE 2026-09-02: /api/build BUILT 632,400 B sha256 0a18a51a (src 989d68bf); nx_contentdiff against my own CS6 build lost exactly ONE run, the banner literal deliberately split to insert the ad-video count; /api/deploy target=cleanserve with confirm_gate_override=yes (AUDITED, the same five unrelated RED domains), deploy_status DEPLOYED-GREEN listen=VERIFIED, live hash confirmed. LIVE measured: hornyleak.tv no ad video and no wrong player (receipt ad_videos 1), cdn.semyana.website direct mp4 served bare, noodlemagazine and prostoporno players extracted, camwhores unchanged. The gate nx_clean_serve_gate (52 of 52 locally, BUILT 61,728 B on the NAS) is REFUSED promotion under D001 because it rolls its own verdict, so no /api/gate_run receipt and no cleanserve.gates row exists for it: the gv_check migration is owed before it can be counted as executed evidence. 2026-09-02 queued CS9c page-identity ranking: a literal stream candidate that carries the page's own id token (cs_page_token: the last non-empty path segment, KVS ids and VK-style ids reappear verbatim in the stream URL) wins; with no token match and CS_LISTING_MIN or more distinct candidates the page is a grid and NO player is emitted rather than a related video. Gate teeth for the token ruler incl. three neg-controls (bare host, dotted file segment, too-short segment). Written and being proven locally at write time. |
CS10 Same-site embed follow to the real player · cell WATCHING · gate NO-GATE-DECLARED
| Contract | _ABSENT_:csd_embed_follow · executor claude · 5 u · stands on CS9 |
|---|---|
| Definition of done | Pre-declared 2026-09-02 from hornyleak.tv: the page's own player is an iframe to the site's /embed/904/, which in turn frames hdplayer.gives/embed/<id> (a dplayer config); the policy strips iframes by design, so the page yields NO player after CS9 (correct, no ad video either). Done-rule: follow at most TWO bounded hops of iframe src starting same-site (the site's own /embed/ path, then the provider it frames), each SSRF-guarded and fetched over sovereign TLS, run the CS9 resolver on each hop's body, and emit the first media that survives; a NEGATIVE CONTROL page whose iframe is an ad widget (creative.hornyleaklive.com) must NOT be followed (skip-table on the iframe host and path). Organ: runtime/_hdl_build/nx_clean_serve_daemon.nx |
| Matrix cell | Same-site embed follow to the real player · runtime/_hdl_build/nx_clean_serve_daemon.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_clean_serve_daemon; declare nx_clean_serve_daemon TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | no log row names this rung yet |
CS11 Autonomous site census and class ranking · cell WATCHING · gate NO-GATE-DECLARED
| Contract | _ABSENT_:ccl_classify · executor claude · 8 u · stands on CS9 |
|---|---|
| Definition of done | Operator 2026-09-02: clean-serve must grow autonomously, delivering more sites without the garbage. The mechanism is a corpus plus a beat: knowledge/cleanserve_sites.conf (every URL the operator or a seat has tried, seeded today with 11) is walked by nx_cleanserve_census on a daily clock row through the LIVE /clean; each row is classified by ONE ruler (ccl_classify in nx_cleanserve_census_lib, gate-tested over canned clean-view bodies) into PLAYER, NO-PLAYER, AD-VIDEO, FETCH-FAIL, BLOCKED or CHALLENGE, a time-spine row is appended (knowledge/status/cleanserve_census.log, plane cleanservecensus-), a truncate-written status names the partition with sums and the top failing class, and a log row lands on THIS plan so the ranker prices the class with the most sites behind it. Done-rule: the beat runs on the clock plane, the partition sums to the corpus, a planted regression (a page that stops yielding a player) flips its class on the next beat and the status names it, and a row added to the corpus is measured on the next beat without any code change. Organ: runtime/nx_cleanserve_census.nx |
| Matrix cell | Autonomous site census and class ranking · runtime/nx_cleanserve_census.nx · WATCHING decl |
| Gate | NO-GATE-DECLARED — knowledge/organ_gate.conf carries no row for nx_cleanserve_census; declare nx_cleanserve_census TAB <gate> and the ship loop proves it and the verdict lands here. |
| Work log | 2026-09-02 measure prostoporno.place/videos/375669: KVS LF page, player extracted (get_file 375669_h.mp4 plus an alt URL), get_file redirects to node 2.prostoporno.place which answered NOTHING to a Range probe from our egress (curl exit, no status) -- class STREAM-UNREACHABLE from this vantage; browser playback UNMEASURED. 2026-09-02 queue OPERATOR STANDING DIRECTION 2026-09-02: clean-serve must grow autonomously and constantly improve, delivering more and more sites without the garbage. Landed today as data: the corpus knowledge/cleanserve_sites.conf (11 rows with measured classes) and rung CS11 (census beat, one classifier ruler, time spine, class ranking feeding this plan). Owed: the census organ and its lib+gate, the clock row, and the relay (CS7) which converts every CROSS-ORIGIN-FAIL row (4 of the 11) into PLAYS by construction. 2026-09-02 measure Three more corpus rows classified 2026-09-02. pornslash.com/watch/ykm1X54J6g0: WRONG-VIDEO -- 50 related-video mp4 literals on pages.dev, none for this id, the page's own player is an hls.js embed whose stream is built by JS (embed HTML carries no literal), so first-literal-wins served a RELATED video. noodlemagazine.com/watch/-88674838_456240139: DECOY-404 -- the literal carrying the page id (noodlemagazine.com/videofile/<id>.mp4) answers 404 while the real player is an nmcorp.video og:video and JS-built pvvstream.pro streams. prostoporno.place/videos/375669: STREAM-TLS-FAIL -- KVS extraction correct, the redirect node 2.prostoporno.place fails the TLS handshake from Windows schannel; browser playback UNMEASURED. The embed pages behind hornyleak (hdplayer.gives, jwplayer+dplayer) and pornslash (hls.js) carry NO literal media, so rung CS10 alone cannot serve them: they are rung CS2 (JS-VM) cases and the embed follow is the delivery vehicle for CS2's result. |
dossiers=11 cells_joined=11 no_matrix_row=0 (sum 11) gates_recorded=0 gates_unrecorded=0 no_gate_declared=11 (sum 11 of cells_joined) evgates=UNSTAMPED
Capability comparisons
Compare the field, search individual capabilities and open their source and adoption evidence. Documented presence does not establish comparative quality.
Position map — centrality and distinctiveness
The four-quadrant map the field uses for brand strategy (Dawar and Bagga, HBR June 2015), re-derived from this matrix on every publish. Centrality is the share of the category's feature mass a player covers, each feature weighted by how many hold it; distinctiveness is the average lead over each rival on the rows the player holds; breadth is the depth-weighted share of the whole matrix (the bubble); depth is how deeply the rows held are held; momentum is the day-over-day move off the spine (green rising, red falling, grey until day two); the dashed path runs first day → previous day → today. Dividers are the category means. Axes are fitted to the field of play, so read the tick numerals, not the frame. Rival marks are documented presence, so a rival's position reads the record, never its quality. The picture grades its own readability below; the table beside it is the same data for a screen reader or a second method.
knowledge/compare/cleanserve.cdmap (cut|x|y, cube|x|y|z); absent = the HBR defaultsbubble area = breadth · ring = momentum (green rising, red falling, grey until day two) · dashed = category means · axes fitted to the field of play: centrality 450–700, distinctiveness 200–700 of 0–1000 permil (the full range put every player in one corner)
readability of the 2D cut, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 0 (a fact of the data: two players that close are that close) · data spread 671 permil of the plot · quadrant words unseated 0
text contrast, measured with wcag2-ratio (floors from contrast.conf), light theme: labels 16.24 (floor 4.50) · notes 16.24 (floor 4.50) · quadrant words 5.89 (floor 4.50) · tick numerals 5.89 (floor 4.50) · axis titles 5.59 (floor 4.50) · dark theme: labels 13.78 (floor 4.50) · quadrant words 5.55 (floor 4.50) · axis titles 5.97 (floor 4.50) · dark classes under their floor 0 (one figure serves both themes: a dark shortfall is a token to fix, never a class to hide) · classes refused under their floor 0 (a refused class is not drawn; the scale classes are measured, never hidden) · export: SVG PNG (receipt, rendered by the estate's own rasteriser from this page)
readability of the 3D cube, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 0 (a fact of the data: two players that close are that close) · data spread 96 permil of the plot
10 panels over 5 registered axes, every pair once (the lower axis on x, the higher on y) · each panel fitted to its own field of play, first and last tick numerals shown · no labels in a small cut, the legend names the colours; the grade below reports the mark terms only (MM summed over the panels, spread averaged)
readability of the small multiples, self-graded by the layout ruler: label overlaps 0 · labels over marks 0 · off-canvas 0 · unresolved labels 0 · mark overlaps 7 (a fact of the data: two players that close are that close) · data spread 519 permil of the plot
| Player | Quadrant | centrality | distinctiveness | breadth | depth | momentum | Rows held | Days on spine | First seen |
|---|---|---|---|---|---|---|---|---|---|
| Nishi | Aspirational | 611 | 564 | 388 | 777 | 0 since 2026-09-23 | 9 | 10 | 2026-09-15 |
| uBlock-Origin | Peripheral | 500 | 383 | 222 | 800 | 0 since 2026-09-23 | 5 | 10 | 2026-09-15 |
| Brave-Shields | Peripheral | 500 | 333 | 203 | 733 | 0 since 2026-09-23 | 5 | 10 | 2026-09-15 |
| AdBlock-Plus | Peripheral | 500 | 250 | 185 | 666 | 0 since 2026-09-23 | 5 | 10 | 2026-09-15 |
| Browsertrix | Aspirational | 666 | 590 | 481 | 722 | 0 since 2026-09-23 | 12 | 10 | 2026-09-15 |
| Day | Matrix rows reviewed | Players recorded |
|---|---|---|
| 2026-09-15 | 18 | 5 |
| 2026-09-16 | 18 | 5 |
| 2026-09-17 | 18 | 5 |
| 2026-09-18 | 18 | 5 |
| 2026-09-19 | 18 | 5 |
| 2026-09-20 | 18 | 5 |
| 2026-09-21 | 18 | 5 |
| 2026-09-22 | 18 | 5 |
| 2026-09-23 | 18 | 5 |
| 2026-10-08 | 18 | 5 |
players 5|matrix rows 18|feature mass 36|centrality mean 555|distinctiveness mean 424|axes 5|spine days 10 (shown 10)|rows written today 0|readability defects 2D 0 cube 0|spine knowledge/status/cdmap/cleanserve.spine
Capability matrix — measured against source
◉ authored stronger claim; source present● present◐ partial○ absent? unassessed; excluded from relative comparison · click any capability for its evidence
Peer cell coverage: authored assessed 72, unassessed 0. Authored assessments are not verified outcomes.
No capabilities match this filter or search.
| Capability | Nishi | uBlock-Origin | Brave-Shields | AdBlock-Plus | Browsertrix |
|---|---|---|---|---|---|
Server-side neutralization - page JS never runs in your browserSource present; authored stronger claim:cs_clean_page in runtime/_hdl_build/nx_clean_serve.nx, verified at emit. LANDED. The keystone: active content is stripped ON THE SERVER so the hostile page never executes in the user context, where every browser extension is client-side and only blocks network requests. Gate-backed at 20/20 KATs by nx_html_sanitize_test over real stored-XSS vectors. Listed so dependents carry its momentum rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).Pros Source symbol found; stronger capability claim is authored; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, Browsertrix; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ◉ | ○ | ○ | ○ | ● |
Preserve the site safe ads - SANITIZE not blockSource present; authored stronger claim:cs_verdict in runtime/_hdl_build/nx_clean_serve.nx, verified at emit. LANDED and UNIQUE. An ad kept as an inert static creative so the site earns a real impression; everyone else blocks all ads, Brave substitutes its own, and AdBlock Plus Acceptable-Ads is pay-to-whitelist rather than per-ad. Proven by the POSITIVE KATs, which are the load-bearing half: a sanitizer returning the empty string would pass every XSS test and fail these rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).Pros Source symbol found; stronger capability claim is authored; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, Browsertrix; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ◉ | ○ | ○ | ◐ | ○ |
Machine-readable safety receiptSource present; authored stronger claim:cs_receipt_json in runtime/_hdl_build/nx_clean_serve.nx, verified at emit. LANDED and UNIQUE. A per-page JSON receipt of attacks neutralized and ads preserved; no incumbent emits an auditable receipt at all, which is why all four rival cells are honestly zero rather than low Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).Pros Source symbol found; stronger capability claim is authored; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, Browsertrix; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ◉ | ○ | ○ | ○ | ○ |
SSRF guard on the fetch proxyMeasured:ncv_url_safe exists in runtime/_hdl_build/nx_cleanview.nx, verified at emit. LANDED. Clean-serve is a public fetch proxy and refuses private loopback and internal targets by construction. The rivals are extensions rather than proxies, so most cannot hold this axis at all rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).Pros Implementing source symbol found; runtime acceptance separate; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, BrowsertrixCons not adopted yet: callable, authorised, completed MCP invocation not established by supplied journal window; lifetime history unknown (direct execution may be recorded elsewhere; this scan does not establish lifetime use); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked) | ● | ○ | ○ | ○ | ◐ |
Own sovereign TLS 1.3 fetch stackMeasured:nx_https_fetch_follow_best exists in runtime/nx_https_fetch_follow.nx, verified at emit. LANDED. Own x509, chacha and aes; every competitor rides the OS or browser TLS, so this row is zero across the board by construction rather than by immaturity Adoption: LIB-WIRED importers=241 nonval=217 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus, Browsertrix; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ○ |
Session and cookie-jar fetchMeasured:ff_core exists in runtime/nx_https_fetch_follow.nx, verified at emit. LANDED. The cookie jar carries session and consent cookies across redirects. Browsertrix gets full cookies from a real headless Chrome, which is the honest reason its cell is not zero rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=241 nonval=217 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ○ | ○ | ○ | ● |
Tracker and beacon blockingMeasured:wf_should_block exists in runtime/_hdl_build/nx_web_filter.nx, verified at emit. PART, and the honest one. PATH CORRECTED 2026-08-25, SAME SESSION THIS ROW WAS WRITTEN: it originally read runtime/nx_web_filter.nx, which was COPIED VERBATIM FROM cleanserve.axes AND IS WRONG THERE TOO -- that file does not exist. The symbol is real and is declared once in the whole tree, at runtime/_hdl_build/nx_web_filter.nx line 71, proven by grep over buildroot with matches=1 coverage_complete=1 corpus_complete=1 across 61,095 sources. It matters because the symbol ruler resolves exactly ONE path with no _hdl_build fallback, so the row would have reported a SHIPPED capability as missing -- the precise failure this board's own header warns about for landed rows. nx_web_filter is a seed table rather than EasyPrivacy scale, so this row is graded Part on the sota page and stays Part here. uBlock Origin leads. It is listed because rung CS1 is measured against exactly this deficit rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=6 nonval=4 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of Browsertrix; fully adopted on the estate ladderCons behind uBlock-Origin (leads) | ● | ◉ | ● | ● | ◐ |
Filter-list breadth EasyList-scaleOpen — watchingruntime/nx_filter_ml.nx : fml_classify, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS1, the widest honest gap on the board. Done-rule is pre-declared PER SITE over the same six sites already measured live: the neutralized-tracker count printed beside what uBlock Origin blocks on that same page, and clean-serve no lower on any of the six. A total that improves while one site regresses does NOT pass rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind uBlock-Origin (leads), Brave-Shields, AdBlock-Plus (leads); open contract; expected source declaration not established | ○ | ◉ | ● | ◉ | ○ |
Run framework JS to resolve player mediaOpen — watchingruntime/nx_cleanserve_jsexec.nx : vsf_sniff_url_net, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS2, and this is F108d. Minified jQuery 3.7.1 already LOADS in the sovereign JS VM, so the contract is not can-it-parse: a page whose media URL is only computable by running its player script must yield a playable native element, with a NEGATIVE CONTROL that a page whose media is already static is byte-identical before and after rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Browsertrix (leads); open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ◉ |
Pass Cloudflare JS challengeOpen — watchingruntime/nx_cf_challenge.nx : cfc_solve, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS3. A site currently returning a challenge interstitial must return its real article AND the receipt must still report the neutralization counts for that page. Passing the challenge while losing the receipt would trade the unique axis for a common one, so the receipt is half the done-rule rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Browsertrix (leads); open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ◉ |
Fingerprint resistance depthOpen — watchingruntime/nx_fingerprint_defense.nx : fpd_randomize, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS4. The zero-JS view already removes JS fingerprinting, so the gate must NOT re-measure that: it must show a difference on a surface that SURVIVES zero-JS, or state UNOBSERVABLE. A gate that passes because JS is absent is measuring the previous rung rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind uBlock-Origin, Brave-Shields (leads); open contract; expected source declaration not established | ○ | ◐ | ◉ | ○ | ○ |
Entity-body contract - CRLF pages keep their playerMeasured:cs_entity_body_off exists in runtime/_hdl_build/nx_clean_serve.nx, verified at emit. LANDED 2026-09-02, rung CS6, shipped with referee grade from nx_clean_serve_gate TEST D and awaiting operator acceptance. The fetcher returns the entity body, so the daemon and nx_cleanview no longer run a second blank-CRLF-line header strip on HTML; the ONE ruler strips only when the buffer begins with an HTTP status line. Rivals are client-side and never had this class of defect, which is why their cells are Yes and the Nishi exceed is honestly 0: this row is parity restored, not a lead rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; fully adopted on the estate ladderCons none on the measured axes (rival marks are documented presence, not depth) | ● | ● | ● | ● | ● |
Sovereign media relay for token-bound streamsOpen — watchingruntime/nx_cleanserve_relay.nx : csr_media_relay, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS7. A stream minted for the fetcher (KVS get_file v-acctoken, expiring CDN acctoken) must play for the viewer even when the CDN binds it to the fetching IP or a Referer: relay over sovereign TLS with Range passthrough, upstream token never exposed. Neg-control: a plain public mp4 stays DIRECT. IP-binding on the live case is UNMEASURED (shared egress), which is exactly why this stays a watch and not a claim rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Browsertrix; open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ◐ |
Declared-metadata resolve, candidate ranking and embed followMeasured:csd_media_rank exists in runtime/_hdl_build/nx_clean_serve_daemon.nx, verified at emit. OPEN -- rung CS9, from three live failures on 2026-09-02: hornyleak served a related-video PREVIEW CLIP because the first .mp4 literal won, hdthot (JW Player, og:video declared) yielded nothing, a direct mp4 URL was fetched as a page and failed. Declared metadata first, a named skip table from conf, one bounded same-site embed follow, media URLs played bare. Browsertrix scores Part because a real Chrome renders the real player; the extensions never resolve media at all rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind them Adoption: LIVE-DAEMON — fully adopted (top of its ladder).Pros Implementing source symbol found; runtime acceptance separate; ahead of uBlock-Origin, Brave-Shields, AdBlock-Plus; fully adopted on the estate ladderCons behind Browsertrix (leads) | ● | ○ | ○ | ○ | ◉ |
Same-site embed follow to the real playerDARK —runtime/_hdl_build/nx_clean_serve_daemon.nx EXISTS but does not declare csd_embed_follow: something shipped at this path under another name, and this mark would read open forever. Repoint the contract to the real entry point (the plan rung AND this row) or rename the function; the flip follows on the next beat, and the comparewatch- plane row reads DARK until then. OPEN -- rung CS10. hornyleak.tv: page -> same-site /embed/904/ -> hdplayer.gives dplayer embed; two bounded SSRF-guarded hops, the CS9 resolver on each, ad-widget iframes never followed. Browsertrix renders it because real Chrome walks the frames rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Browsertrix (leads); open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ◉ |
Autonomous site census and class rankingOpen — watchingruntime/nx_cleanserve_census.nx : ccl_classify, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS11, the operator's standing direction: a corpus of every tried URL plus a daily beat that classifies each through the live /clean with ONE gate-tested ruler, appends a time spine and lands a log row on the plan so the next rung is chosen by count. No extension measures itself against a corpus; Browsertrix has crawl QA reports, hence its Yes rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Browsertrix; open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ● |
Blocker-fingerprint neutrality - no anti-adblock wall tripsOpen — watchingruntime/nx_cleanserve_neutrality.nx : csn_blocker_probe, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS8, the operator's 2026-09-02 requirement for the Nishi browser and OS: no attack vectors AND no uBlock-class detection thumbprint. Measured per site over a named anti-adblock corpus beside a stock browser running uBlock Origin; uBlock leads today with scriptlets and surrogates, and the zero-JS view's structural immunity must be PROVEN on real walls before the cell moves rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind uBlock-Origin (leads), Brave-Shields, AdBlock-Plus; open contract; expected source declaration not established | ○ | ◉ | ● | ● | ○ |
Link-rot archive capture WARCOpen — watchingruntime/nx_cleanserve_archive.nx : csa_warc_emit, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. OPEN -- rung CS5. A captured page replays with its text and images intact and the record DECLARES what it did not capture. Browsertrix-scale JS-render fidelity is explicitly NOT claimed; the done-rule is an honest fidelity statement plus a replay, never parity rival marks uncited — the Yes, Best or Part codes on this row are an observation read with no reference mark behind themPros none measured yetCons behind Browsertrix (leads); open contract; expected source declaration not established | ○ | ○ | ○ | ○ | ◉ |
| Class | Count | Note |
|---|---|---|
| rows with rival marks | 16 | rows carrying a Yes, Best or Part in a rival column |
| cited | 0 | a reference mark resolves to a pinned mirror |
| uncited | 16 | an observation read, badged until a reference lands |
| rows, summed | 16 | RECONCILED: the parts sum to the total 16 |
Delivery and evidence
Inspect risks, technical debt, rendered observations, experiments and references. Read scope and limitations alongside every result.
Risk register
| Risk | Likelihood x impact | Mitigation |
|---|---|---|
| Filter-list breadth becomes a maintenance treadmill | likely x moderate | Subscribe to an existing corpus rather than authoring rules. The axis is breadth, and re-deriving EasyList by hand would be the duplicate-ruler defect at community scale. |
| Running page JS to resolve media re-introduces the very execution clean-serve exists to prevent | possible x severe | The JS runs in the SOVEREIGN VM server-side, never in the user's browser, and the negative control in CS2 exists precisely to prove the static path is untouched. |
| Passing challenges reads as adversarial to the sites being served | possible x moderate | Clean-serve's stance is neutral serve of difficult-but-legal sites, and it preserves the site's safe ads so the publisher still earns a real impression. That is the position to state plainly if it is ever challenged. |
| A rung ships and the matrix cell is flipped without the gate | possible x severe | Each done-rule above is pre-declared in this file BEFORE the work, so a flip without its measurement is visible as a claim with no receipt. |
Release history and work log
| When | Rung | Kind | Entry |
|---|---|---|---|
| 2026-09-02 | CS6 | measure | LIVE /clean on camwhores.tv/videos/1855636 returned 42,888 B with NO video element while the page itself (81,570 B) carries a plain video_url in flashvars. The cleaned body began at byte 41,335 of the page and the receipt said 4 scripts -- exactly the 4 script tags after that byte. Cause read from source: nx_https_fetch_follow_best returns the entity body, and the daemon then ran a second header strip (first blank CRLF line) on HTML. Instrument: byte offsets of the live response against the raw page. |
| 2026-09-02 | CS6 | retract | The sota row Native HTML5 media delivery (graded Y, including KVS de-obfuscation) was TRUE ONLY FOR LF-FORMATTED PAGES: every CRLF page (KVS/kt_player tube sites, IIS, many CMSes) lost its head, player block and flashvars before extraction ran, so the grade rested on the six LF-only news sites it was measured on. Discriminating experiment: the cleaned body of a CRLF page starts at its first in-document blank line; an LF page starts at 0. |
| 2026-09-02 | CS6 | lesson | A CONSUMER THAT RE-STRIPS WHAT ITS PRODUCER ALREADY STRIPPED IS A DEFECT THAT HIDES ON EVERY INPUT THE PRODUCER HAPPENED TO NORMALISE. Two organs (the daemon and nx_cleanview) carried the same private blank-line scan; both now delegate to ONE ruler in the lib (cs_entity_body_off), which strips only when the buffer begins with an HTTP status line. And the fixture that proves it must spell CR LF as escapes: a literal CR in source was silently stripped by a text-mode copy on its first trip to the NAS. CHECK-BEFORE-BUILD, measured after the fact: of 32 consumers of nx_https_fetch_follow_best in the tree, exactly three re-strip, and the third (nx_fetch_any fa_body_off) ALREADY carried the correct status-line-guarded shape -- the clean-serve family held the unguarded twin of a ruler the estate had. |
| 2026-09-02 | CS6 | measure | REAL BROWSER (Waterfox 153 via Marionette, 2026-09-02): the operator's video 1855636 fails IDENTICALLY on camwhores.tv ITSELF (video.error=4 Failed to open media, networkState=3) and on the fixed clean view -- the site's redirector sends every request to CDN vhost camvideo32, which answers 403 (nginx), while the same file and the same token on vhost camvideo3 (same IP 176.98.190.24) answer 206; three other public videos on the site (12756124, 6461619, 6548478) redirect to healthy nodes and answer 206. Through the fixed clean view, 12756124 PLAYS in Waterfox: readyState 4, error null, 1920x1080, duration 786 s, currentTime advancing, 65 s buffered, receipt 15 scripts and 1 tracker neutralized. So the clean view is now at parity with the site on its own player URL; the cited video is refused by the site's CDN for everyone right now. |
| 2026-09-02 | CS6 | queue | NAS SHIP STATE at write time: lib ruler, gate teeth, daemon and nx_cleanview delegations are source-landed in buildroot (both trees identical for lib and gate); gate GREEN 37/37 locally and RED 34/37 against a planted revert of the ruler (restored byte-identical); daemon built locally (1,108,899 B) and proven end-to-end in a real browser. /api/build for nx_clean_serve_daemon and nx_clean_serve_gate was REFUSED by build admission (D-state storm, procs_blocked 9 of 8) and QUEUED (deployq rows BQ-nx_clean_serve_daemon, BQ-nx_clean_serve_gate); deploy_targets row cleanserve (gdeploy@cleanserve :8102) and daemons.reg revive (re-signed) are in place, pre-change binary banked as knowledge/status/nx_clean_serve_daemon.elf.bank-20260902-precrlf sha256 356c6df3. Next seat: when the BQ row reads fired-rc0, nx_contentdiff live vs stage, then /api/deploy target=cleanserve and re-run the live /clean check. |
| 2026-09-02 | CS7 | queue | Whether the get_file token is IP-bound is UNMEASURED: the page's v-acctoken decodes to 315 / 1222460 / 0 / hash and the CDN redirect acctoken carries a 2 h expiry, but the NAS and the operator's laptop share egress 75.28.18.94, so a laptop 206 proves nothing about a remote viewer. Recipe: fetch /clean from an off-LAN vantage and GET the served video src with Range; a 403 there is the CS7 trigger. |
| 2026-09-02 | CS8 | queue | Operator ask 2026-09-02: this lane is the test-bed for the Nishi browser and OS -- no attack vectors, and no uBlock-class detection thumbprint either. The zero-JS clean view cannot run a detector by construction, but the anti-adblock WALL markup can still be server-rendered; CS8 measures that on real walls and pairs it with CS1 breadth. |
| 2026-09-02 | CS6 | land | DEPLOYED 2026-09-02. /api/build BUILT 623,072 B sha256 34eb5538 from src 2f45a13a (a stale 532,574 B stage from another lane was banked as .prev, not overwritten). nx_contentdiff live vs stage read RED with 324 lost runs, ENUMERATED: 6 compiler pad runs (0x55 and 0x33 fill) plus 2 copies of one long Accept header that is absent from the current shared fetch-lib source (an estate-wide lib change predating this lane), and no clean-serve string lost. /api/deploy target=cleanserve was REFUSED by the pre-deploy gate (evidence-honesty BLOCK: five RED domains automation, swarm, videocodec, smallos, autodev, none of them cleanserve) and re-issued with confirm_gate_override=yes, recorded as AUDITED; deploy_status DEPLOYED-GREEN listen=VERIFIED. Live sha256 34eb5538 confirmed by nx_filehash. LIVE /clean now serves the native player with the site's own get_file URL for 1855636, 6461619 and 2108275 and /receipt reads 15 scripts and 1 tracker where it read 4 scripts and no video. |
| 2026-09-02 | CS7 | measure | REAL-BROWSER CENSUS over five camwhores.tv videos through the fixed daemon: extraction correct 5 of 5, server-side Range 206 5 of 5 (nodes camvideo3, ghjtuthynvideos, camvideo8, v1, video15), DIRECT cross-origin video-element playback 1 of 5. 12756124 on woopeedoopcmwhrs.xyz plays; the four on wpnrtnmrewunrtok.xyz fail with media error 4 while the SAME URL plays from the site's own page and curl gets 206 seconds later on the daemon-minted token. Ruled out by control: token expiry, codec (all avc1 and mp4a, moov at the tail), response headers (byte-identical dumps across both families), Safe Browsing, the tracking-protection classifier (no table match), HTTP/2 (fails with h2 disabled), certificate chain (both Let's Encrypt). The browser creates the redirect-target channel and never opens a connection; the exact Firefox rule is UNATTRIBUTED. The consequence stands regardless: a bare cross-origin video src is not a delivery path for that CDN family, a same-origin relay is. erome.tv and hornyfans.to (get_file served by the site host, no third-party CDN hop) play. 1855636 additionally depends on which node the site's redirector assigns: camvideo32 answers 403 for everyone and camvideo3 answers 206 for the same file and token, and the assignment changed within the hour, which is the dynamic behaviour the operator saw on reload. |
| 2026-09-02 | CS7 | lesson | A CROSS-ORIGIN VIDEO SRC IS A REQUEST THE BROWSER MAKES ON THE VIEWER'S BEHALF UNDER RULES WE DO NOT CONTROL; ONLY A SAME-ORIGIN RELAY MAKES DELIVERY A PROPERTY OF OUR CODE. Second lesson, from hornyleak: THE FIRST .MP4 IN A PAGE IS THE FIRST .MP4 IN A PAGE, NOT THE VIDEO -- a page full of hover previews wins that race every time. |
| 2026-09-02 | CS7 | queue | The relay is now REQUIRED, not a nice-to-have: 4 of 5 KVS videos on the dominant CDN family cannot be played by a bare video element from our origin. Build: /clean/media?u=<upstream>&p=<page>, SSRF-guarded, sovereign TLS fetch with the client's Range passed through and the page origin as Referer, the redirect followed server-side, one retry on a 403 node (fresh redirect), streamed to the client with Content-Range and Accept-Ranges; the clean page's video src becomes same-origin. Needs a streaming primitive: nx_https_fetch_follow is buffered at 8 MiB, so either a windowed Range loop over it or a record-streaming variant of ff_core. |
| 2026-09-02 | CS6 | lesson | BING, MEASURED on the operator's URL and a Vimeo control through Waterfox: the detail view is Bing's own smtplayer element plus a per-result vrhm record (murl media URL, purl and pgurl page URL, thid OVP thumbnail id, mmsturl a 1.1 MB video/mp4 preview clip Bing RE-HOSTS on th.bing.com with CORS star and a 30-day cache, du duration, md5). For an embeddable provider the detail is the PROVIDER's iframe (player.vimeo.com/video/<id> with autoplay); for a site with no embed contract (camwhores /embed/<id> answers 404 for every video) Bing shows Sorry, this video is no longer available and never plays it. What to bring into the Nishi browser and OS: index-time preview clips and posters re-hosted on our own store (first-party, no hotlink), a declared-embed registry (VideoObject, og:video, provider embed templates), and for full playback the relay, which is the one thing Bing does NOT do for these sites. |
| 2026-09-02 | CS9 | land | SHIPPED 2026-09-02 (build+deploy in flight on the NAS at write time; proven locally): cs_media_skip, cs_find_declared, cs_media_ext and cs_quoted_after in the lib, csd_media_rank and the bare direct-media player in the daemon, ad VIDEO elements stripped and counted (receipt field ad_videos, additive). Gate 52 of 52 locally. Measured through the fixed daemon: cdn.semyana.website direct mp4 now plays bare (was Fetch failed); hornyleak.tv no longer shows the 728x90 autoplay advertisement (ad_videos 1, no wrong player; the real player is a two-hop embed, rung CS10); hdthot.com stays honestly playerless (og:video names the page itself, rejected); camwhores, erome and hornyfans unchanged. |
| 2026-09-02 | CS11 | measure | prostoporno.place/videos/375669: KVS LF page, player extracted (get_file 375669_h.mp4 plus an alt URL), get_file redirects to node 2.prostoporno.place which answered NOTHING to a Range probe from our egress (curl exit, no status) -- class STREAM-UNREACHABLE from this vantage; browser playback UNMEASURED. |
| 2026-09-02 | CS11 | queue | OPERATOR STANDING DIRECTION 2026-09-02: clean-serve must grow autonomously and constantly improve, delivering more and more sites without the garbage. Landed today as data: the corpus knowledge/cleanserve_sites.conf (11 rows with measured classes) and rung CS11 (census beat, one classifier ruler, time spine, class ranking feeding this plan). Owed: the census organ and its lib+gate, the clock row, and the relay (CS7) which converts every CROSS-ORIGIN-FAIL row (4 of the 11) into PLAYS by construction. |
| 2026-09-02 | CS9 | land | LIVE 2026-09-02: /api/build BUILT 632,400 B sha256 0a18a51a (src 989d68bf); nx_contentdiff against my own CS6 build lost exactly ONE run, the banner literal deliberately split to insert the ad-video count; /api/deploy target=cleanserve with confirm_gate_override=yes (AUDITED, the same five unrelated RED domains), deploy_status DEPLOYED-GREEN listen=VERIFIED, live hash confirmed. LIVE measured: hornyleak.tv no ad video and no wrong player (receipt ad_videos 1), cdn.semyana.website direct mp4 served bare, noodlemagazine and prostoporno players extracted, camwhores unchanged. The gate nx_clean_serve_gate (52 of 52 locally, BUILT 61,728 B on the NAS) is REFUSED promotion under D001 because it rolls its own verdict, so no /api/gate_run receipt and no cleanserve.gates row exists for it: the gv_check migration is owed before it can be counted as executed evidence. |
| 2026-09-02 | CS11 | measure | Three more corpus rows classified 2026-09-02. pornslash.com/watch/ykm1X54J6g0: WRONG-VIDEO -- 50 related-video mp4 literals on pages.dev, none for this id, the page's own player is an hls.js embed whose stream is built by JS (embed HTML carries no literal), so first-literal-wins served a RELATED video. noodlemagazine.com/watch/-88674838_456240139: DECOY-404 -- the literal carrying the page id (noodlemagazine.com/videofile/<id>.mp4) answers 404 while the real player is an nmcorp.video og:video and JS-built pvvstream.pro streams. prostoporno.place/videos/375669: STREAM-TLS-FAIL -- KVS extraction correct, the redirect node 2.prostoporno.place fails the TLS handshake from Windows schannel; browser playback UNMEASURED. The embed pages behind hornyleak (hdplayer.gives, jwplayer+dplayer) and pornslash (hls.js) carry NO literal media, so rung CS10 alone cannot serve them: they are rung CS2 (JS-VM) cases and the embed follow is the delivery vehicle for CS2's result. |
| 2026-09-02 | CS9 | queued | CS9c page-identity ranking: a literal stream candidate that carries the page's own id token (cs_page_token: the last non-empty path segment, KVS ids and VK-style ids reappear verbatim in the stream URL) wins; with no token match and CS_LISTING_MIN or more distinct candidates the page is a grid and NO player is emitted rather than a related video. Gate teeth for the token ruler incl. three neg-controls (bare host, dotted file segment, too-short segment). Written and being proven locally at write time. |
SOTA field — 8 peers, 39 axes, measured bindings
Nishi clean-serve (server-side attack neutralization + safe-ad preservation + native media + machine receipt) vs the ad-block / shield / reader / archive field
| Class | Count | Note |
|---|---|---|
| consistent | 0 | the grade and the symbol agree |
| stale-under | 0 | the grade says No while the organ carries the symbol; published with the badge, named by the gate until raised |
| unbacked | 0 | a claim over an absent symbol refuses to publish |
| unresolved | 0 | |
| unreadable | 0 | |
| unserved | 1 | the organ carries the symbol in source while its binary is not on the serving surface: built nowhere, invisible to symbol presence; published with the badge, never refused |
| partition sum | 1 | RECONCILED: the parts sum to the total 1 |
User safety - attack neutralization
the keystone - active content stripped on the server so the hostile page never executes in the user context; every browser extension is client-side and only blocks network requests. EVIDENCE (nx_html_sanitize_test, 20/20 KATs, GREEN 2026-08-14 on CURRENT source): byte-exact known-answer tests over real stored-XSS vectors -- script tags, event handlers, javascript: and the java-script: space evasion, case games, unterminated tags, style bodies, a quote-embedded gt, and form theft. HONEST NOTE: this gate was promoted, registered and authorised yet its LIVE BINARY WAS 7.7 DAYS OLDER THAN ITS SOURCE, because the D001 promote door refuses a gate that rolls its own verdict, so it could not be re-promoted while gate_run kept returning green from the fossil. Migrated and re-promoted before this number was quoted
cs_clean_page removes every script block; NoScript blocks all JS execution [noscript]; uBlock blocks by list not wholesale
iframe embed and object stripped; most blockers gate by list
malvertising auto-redirect vectors removed; network blockers rarely touch inline redirect
onclick onload onerror exec vectors removed at the source [owasp-xss]; network blockers do not rewrite inline HTML
rel noopener noreferrer nofollow injected on every anchor; modern browsers default some of this
honest gap - nx_web_filter is a seed table not EasyPrivacy scale; uBlock and Privacy Badger lead [privacy-badger]
miner request URLs neutralized; uBlock and Brave block by list
popunder vectors removed
clean-serve is a public fetch proxy that refuses private loopback and internal targets by construction; extensions are not proxies
honest gap - zero-JS view removes JS fingerprinting but no canvas font or WebGL spoofing; Brave randomizes fingerprints [brave-shields]
honest gap - seed table only; uBlock EasyList EasyPrivacy and AdBlock are the mature bar [ublock-origin]
honest gap - static seed table with no subscription auto-refresh
honest gap - uBlock injects scriptlets and surrogates to defeat anti-adblock; clean-serve does not
partial - only a minimal age-gate and consent-overlay CSS neutralizer today; uBlock cosmetic filtering is rich
honest gap - clean-serve is per-fetch server-side, not a DNS sinkhole or network filter
Site monetization - the win-win-win
UNIQUE - an ad kept as an inert static creative so the site earns a real impression; all others block ads or Brave substitutes its own and AdBlock Acceptable-Ads is pay-to-whitelist not per-ad. EVIDENCE (nx_html_sanitize_test, GREEN 2026-08-14): sanitize-not-block is PROVEN by the positive KATs, which are the load-bearing half of that suite -- an https href, a relative href, a list and an uppercase anchor must all SURVIVE byte-identical. A sanitizer that returned the empty string would pass every XSS test and fail these four, which is precisely the difference between neutralising a page and destroying it
the preserved ad is a genuine paid impression not a faked or surrogate success
per-ad sanitize needs no payment; AdBlock Plus Acceptable-Ads charges large advertisers [adblock-plus]
Transparency
UNIQUE - cs_receipt_json emits a per-page JSON receipt of attacks neutralized and ads preserved; no incumbent emits an auditable receipt. EVIDENCE (MEASURED 2026-08-14): the serving organ nx_cleanview is real and shipped -- promoted at 1,194,921 B, registered on the MCP surface with a cap minted -- and the neutralisation it reports on is itself gate-backed at 20/20 by nx_html_sanitize_test. A receipt is only worth auditing if the thing it attests is independently checkable, and here it is
counts every neutralized vector per page; the uBlock logger is the closest
Delivery
extracts the stream including KVS de-obfuscation into a bare video element; reader modes sometimes keep media. CORRECTED 2026-09-02 (rung CS6): this grade was true only for LF-formatted pages until then -- a CRLF page lost its player block to a second header strip before extraction ran (camwhores.tv served no video element); fixed at one ruler, cs_entity_body_off, gate-proven, and this cell is now BOUND to the extractor so a future drift refuses to publish instead of rotting
bound to runtime/_hdl_build/nx_kvs.nx:kvs_extract · measured PRESENT (decl) · UNSERVED — the hand grade claims the capability and the organ carries the symbol in SOURCE, but its binary is not on the serving surface: built nowhere -- this cell over-reports what RUNS and stays flagged until the organ is promoted
the delivered page is static zero-JS; reader modes and the defunct Web Light are the closest
text images and DOM pass through byte-for-byte; reader modes over-strip
Neutrality and policy
neutral serve of a hostile-but-legal site instead of a search-engine derank or a browser block page - a policy stance no blocker takes. EVIDENCE (nx_html_sanitize_test, GREEN 2026-08-14): the stance is enforced by the mechanism rather than promised in prose -- the sanitizer has no block path at all, so the only outcomes it can produce are a neutralised page or an unchanged one. The preserve-safe-markup KATs prove the second outcome is reachable, which is what makes serve-not-deranked a property of the code instead of a policy someone has to keep honouring
Fetch and access - what to improve
ff_core cookie jar carries session and consent cookies across redirects; Browsertrix headless Chrome has full cookies
honest gap and research opp - CF managed-challenge JS proof-of-work not passed; Browsertrix real headless Chrome passes [browsertrix]; own arc
honest partial - minified jQuery 3.7.1 LOADS in the sovereign JS VM but vsf_sniff_url_net is not yet wired into clean-serve (F108d); Browsertrix runs real Chrome
design principle - slow-exit control-plane and direct data-plane - not yet shipped
Archive and durability
nx_web_archive present but not Browsertrix or Wayback scale or JS-render fidelity (honest gap) [warc-1-1]
Sovereignty
own language compiler TLS 1.3 fetch filter and renderer; every competitor is a browser extension or Chromium. EVIDENCE (MEASURED 2026-08-13): a return-42 static ELF out of this toolchain is 188 bytes with --no-crash-guard and 5,105 bytes with the default crash guard -- a binary that size cannot contain a libc, let alone a browser engine. nx_cleanview ships as ONE promoted 1,194,921 B sovereign binary carrying the whole fetch, filter and render path; a Chromium-based competitor cannot state a comparable number
nx_https_fetch_follow plus own x509 chacha and aes; competitors ride the OS or browser TLS
honest gap - no element picker or per-site settings UI; the uBlock advanced UI is the bar
honest gap - no filter-list subscription ecosystem
honest gap - server-side only, no extension or mobile app
Scale and delivery - quantitative
receipts this session example 0 HN 1 guardian 19 arstechnica 25 techcrunch 43 nytimes 46
uBlock-Origin by-listBrave-Shields by-listPrivacy-Badger n/aAdBlock-Plus by-listNoScript all-blockedReader-View all-strippedWeb-Light server-transcodeBrowsertrix captured
clean-serve is the only column not zero by design
uBlock-Origin 0 all-blockedBrave-Shields 0 own-adsPrivacy-Badger 0 all-blockedAdBlock-Plus whitelist-onlyNoScript 0 all-blockedReader-View 0Web-Light 0Browsertrix 0
honest gap - rule breadth is the maturity axis to close [easylist]
uBlock-Origin 300k+ EasyListBrave-Shields EasyList+Privacy-Badger heuristic no-listAdBlock-Plus EasyList+NoScript user rulesReader-View n/aWeb-Light n/aBrowsertrix n/a
sovereign stack with zero third-party
uBlock-Origin browser+extBrave-Shields ChromiumPrivacy-Badger browser+extAdBlock-Plus browser+extNoScript browser+extReader-View browserWeb-Light Google infraBrowsertrix Python+Chrome
Person · product · place — not yet measured for this domain
knowledge/compare/cleanserve.ppp (rows surface|nishi or c1..c4|label|url|connect naming OUR live surface and each rival's front door), run nx_ppp_probe domain cleanserve, and this section fills itself on the next beat: the same ruler on both sides — privacy and CX (third-party hosts, tracker classes, cookies, security headers), design and longevity (design hygiene, computed WCAG contrast, render-blocking resources, unsized media, script weight, theme and motion queries), findability (landmarks, skip link, on-site search, breadcrumb, headings, internal links).The field — discovered, not chosen
Rows written by nx_field_discover from cleanserve.seeds: the industry's own lists (Wikipedia wikitext, GitHub topics, awesome lists) read mechanically, every candidate counted across seeds. The matrix columns above are a SEAT'S pick; this band is the population they were picked from, and the stats line measures one against the other. A rival here is a lead, never a verdict — it earns a column when its capabilities are read and pinned.
| Class | Count | Note |
|---|---|---|
| seeds | 4 | |
| scanned | 4 | |
| fetched | 4 | |
| reused | 0 | |
| failed | 0 | |
| named | 4 | |
| candidates | 4 | |
| mentions | 4 | |
| capped | 0 |
| Rank | Rival | Seeds | Mentions | First seed | Kind | Link |
|---|---|---|---|---|---|---|
| 1 | uBlock-Origin | 1 | 1 | col0-ublock | named | https://github.com/gorhill/uBlock |
| 2 | Brave-Shields | 1 | 1 | col1-brave | named | https://brave.com/shields/ |
| 3 | AdBlock-Plus | 1 | 1 | col2-adblock | named | https://adblockplus.org/en/acceptable-ads |
| 4 | Browsertrix | 1 | 1 | col3-browsertrix | named | https://github.com/webrecorder/browsertrix-crawler |
field candidates 4|shown 4 of 4|matrix columns in the field 4 of 4|discovered rivals with no column 0|malformed rows 0 (counted, never rendered)|read-capped 0
Exclusive and shared capabilities
This board grades 18 capabilities: 16 exclusive to it and 2 shared with other boards. Shared rows on this page: 2 = home here 2 + home elsewhere 0 + ambiguous 0 + undecided 0 + refused 0 (partition 2); undecided = unmapped 0 + unproven 0 + unevidenced 0; homonyms 0; since the previous census: new 0, resolved 0. Census FRESH age_s=6210.
| Capability | Organ | Boards grading it | Home | Rule | Evidence | Standing on this board |
|---|---|---|---|---|---|---|
| cs_clean_page | nx_clean_serve.nx | performersearch, cleanserve+ | cleanserve | gates | gates | home here |
| csd_media_rank | nx_clean_serve_daemon.nx | performersearch, cleanserve*+ | cleanserve | rung | plan | home here |
Gaps from the record — what the estate does that no board carries
The record census (nx_goalmap record) reads the invoked-tool population and every plan queue row and files each organ or directive that NO matrix, plan or gates row names. A row here is a callout the boards missed: adjudicate it onto a board or declare it infrastructure. Census state STALE (age 1395315 s), sources read 4 of 7 declared — a BLIND census is a FLOOR: unread sources can only add rows.
| kind | name | board | source | evidence |
|---|
rows shown 0|this board's directives 0|estate-wide un-boarded organs 452 (listed in full on /compare/ecosystem)|census rows 639|malformed 0 (counted, never rendered)
References
- [ublock-origin] Hill, R. (gorhill) and contributors. uBlock Origin -- an efficient wide-spectrum content blocker: EasyList/EasyPrivacy filter lists, cosmetic filtering, scriptlet injection, element picker, logger (repository README). Accessed August 2026. publisher · read in our library
knowledge/fetched/cmp_cleanserve_ublock-origin.html· pinh4724feac2c4a0de664fdbe146007bf087a8c70a804ce6ca743e336d489ceaf56· accessed 2026-08-18 · vendor-docGrounds: The uBlock-Origin column: Tracker and beacon blocking, Filter-list breadth EasyList-scale, Real-time filter-list auto-update, Anti-adblock scriptlet and surrogate defense, Rich cosmetic element hiding and User config UI - element picker and per-site rules are all coded Best for uBlock and are the honest-gap rows for Nishi; Per-page attack audit names the uBlock logger as the closest incumbent. - [brave-shields] Brave Software. Brave Shields -- built-in ad and tracker blocking, fingerprint randomization (farbling), HTTPS upgrades in the Brave browser. Accessed August 2026. publisher · read in our library
knowledge/fetched/cmp_cleanserve_brave-shields.html· pinh6fe3d662398ee2bc83b6a07436525052e44883fd60c64eca5761b0da2b9080ad· accessed 2026-08-18 · vendor-docGrounds: The Brave-Shields column: Fingerprint resistance depth is coded Best for Brave (it randomizes fingerprints) and No for Nishi's zero-JS view; also DNS or network-wide blocking and Browser or mobile client where Brave is coded Yes/Best and clean-serve is server-side only. - [privacy-badger] Electronic Frontier Foundation. Privacy Badger -- a browser extension that learns to block invisible trackers heuristically rather than from a filter list. Accessed August 2026. publisher · read in our library
knowledge/fetched/cmp_cleanserve_privacy-badger.html· pinh2babeb8c86946659ad6702bb513eaa230317c77f3bc00146f3d4f8917064398c· accessed 2026-08-18 · vendor-docGrounds: The Privacy-Badger column: Tracker and beacon blocking is coded Best (heuristic tracker detection) and Filter rules maintained reads heuristic no-list -- the learning-based alternative to EasyPrivacy that Nishi's seed table nx_web_filter is honestly behind. - [adblock-plus] eyeo GmbH. Adblock Plus -- Acceptable Ads: the whitelisting programme under which non-intrusive ads are shown by default and large advertisers pay for participation. Accessed August 2026. publisher · read in our library
knowledge/fetched/cmp_cleanserve_adblock-plus.html· pinh515b880fce4e5d75f382d07b12c9ff648decfd450025346f32e6568e17469b9b· accessed 2026-08-18 · vendor-docGrounds: The AdBlock-Plus column: No pay-to-whitelist scheme is coded No for AdBlock Plus alone (the note says Acceptable-Ads charges large advertisers) and Preserve the site safe ads - SANITIZE not block contrasts per-ad sanitize with pay-to-whitelist -- this page is eyeo's own description of the programme. - [noscript] Maone, G. NoScript Security Suite -- preemptively blocks scripts and active content, allowing JavaScript only from trusted sites; XSS and clickjacking protection. Accessed August 2026. publisher · read in our library
knowledge/fetched/cmp_cleanserve_noscript.html· pinhaeb18c0a58188bda41cb9d9d12e26834eb60a7eb67fc0965464218e8c93d4808· accessed 2026-08-18 · vendor-docGrounds: The NoScript column: Strip all inline scripts is coded Best for NoScript (blocks all JS execution) against Nishi's Yes (cs_clean_page removes every script block server-side), and Neutralize meta-refresh and javascript-URI redirects coded Yes -- the client-side script gate the server-side keystone row is contrasted with. - [browsertrix] Webrecorder. Browsertrix Crawler -- a high-fidelity browser-based crawler that captures WARC/WACZ archives with a real headless Chrome, including pages behind JS challenges (repository README). Accessed August 2026. publisher · read in our library
knowledge/fetched/cmp_cleanserve_browsertrix.html· pinh8bde618c30412ec0a31fd9c9725d288323c26f3007a0d80541efd976db924f21· accessed 2026-08-18 · vendor-docGrounds: The Browsertrix column: Pass Cloudflare JS challenge, Run framework JS to resolve player media and Link-rot archive capture WARC are coded Best for Browsertrix (real headless Chrome) and are the honest gaps and research opps (F108d) for clean-serve; Third-party runtime dependencies reads Python+Chrome for it against Nishi's 0. - [easylist] EasyList authors. EasyList -- the primary filter list that removes most adverts, with EasyPrivacy for tracking; the subscription lists uBlock Origin, Adblock Plus and Brave consume. Accessed August 2026. publisher · read in our library
knowledge/fetched/cmp_cleanserve_easylist.html· pinh8bba49d60800ca0c7f5aaecb46aad441ffd524d7745c712db095d0d04ebcaefe· accessed 2026-08-18 · mirrored-indexGrounds: Filter-list breadth EasyList-scale, Community filter-list subscriptions and Filter rules maintained (300k+ EasyList vs Nishi's seed table) -- the maturity axis the sota names as the one to close; this is the list's own overview page. - [warc-1-1] International Internet Preservation Consortium (IIPC). The WARC Format 1.1 -- the Web ARChive file format (ISO 28500:2017) specification, published on iipc.github.io. Accessed August 2026. publisher · read in our library
knowledge/fetched/cmp_cleanserve_warc-1-1.html· pinh0c0bd8cc4b351eddd2b04aade67b2ddf9737961e087371998e01ab8deacde39d· accessed 2026-08-18 · published-standardGrounds: Link-rot archive capture WARC -- the archive format the row is named for: Browsertrix and Wayback write WARC 1.1 records, and nx_web_archive is graded partial against Browsertrix or Wayback scale and JS-render fidelity in that same format. - [owasp-xss] OWASP Foundation. Cross Site Scripting Prevention Cheat Sheet (OWASP Cheat Sheet Series) -- output encoding, HTML sanitization, javascript: URL and event-handler vectors. Accessed August 2026. publisher · read in our library
knowledge/fetched/cmp_cleanserve_owasp-xss.html· pinh209670f837dd49a8e2bdf540490014da6321f09cbc1d9f7a9d51496e1d09c99c· accessed 2026-08-18 · published-standardGrounds: Server-side neutralization - page JS never runs in your browser, Strip inline event handlers on-star= and Neutralize meta-refresh and javascript-URI redirects -- the vector classes the nx_html_sanitize_test 20/20 KATs cover (script tags, event handlers, javascript: and the java-script: space evasion, case games, unterminated tags) are the ones this cheat sheet enumerates as the XSS surface a sanitizer must close.
generated by nx_swcompare_matrix (sovereign NishiLang organ) from knowledge/compare/cleanserve.matrix · source checks show implementation presence; runtime and user-outcome evidence are reported separately · JavaScript supports page controls