code wiki / _hdl_build / nx_ad_ivt.nx

nx_ad_ivt.nx

buildroot/runtime/_hdl_build/nx_ad_ivt.nx

3383 B72 linesdepth 4pulls 5 transitivereach 4 importersview sourcekind librarytopic ad
docsdependenciesstructsconstsfunctions

about

nx_ad_ivt.nx -- LIB (PURE classify + store loader): STRENGTHENED aggregate INVALID-TRAFFIC (IVT) classifier for the "filter bot/useless traffic for clients" face. Generalises nx_ad_botfilter's 3 signals to a wider GIVT signal vector (the categories the cited MRC Invalid-Traffic Detection Guidelines + IAB name) -- additive and NON-BREAKING (nx_ad_botfilter stays as-is for conversion / meter; this is the richer classifier the census grades against). [bar: srch_adfraud.raw] PRIVACY BY CONSTRUCTION (feedback-no-server-side-visitor-identity): inputs are AGGREGATE CLASS CODES only -- NO visitor id / IP / fingerprint. We deliberately stay GIVT-tier (general invalid traffic: data-center, known/declared bots, non-browser, no-JS, missing-referrer, impossible cadence). We do NOT do SIVT-tier detection because the incumbent techniques for it require per- user fingerprinting / device graphs -- the surveillance we REFUSE. "Systems, not people." Bucket = [c0, c1, ..., c(W-1), n] (W class-fields + a count). Field meanings (data-driven rules in the store decide which codes are "bad", rule 11): 0 ua_class 1=known-bot UA 2=non-browser UA 1 src_class 1=data-center ASN 2=known proxy / VPN exit 2 js_class 1=raw / no-JS-exec 3 ref_class 1=missing referrer 4 cadence_class 1=impossible request cadence (too fast to be human) 5 declared_class 1=self-declared bot (robots/UA self-identifies) license_tier: ORIGINAL

dependencies 3 imports · 2 importers

nx_ad_botfilter.nx nx_ad_store.nx nx_syscalls.nx nx_ad_ivt.nx nx_ad_exceed.nx nx_ad_ivt_gate.nx

imports: nx_ad_botfilter.nxnx_ad_store.nxnx_syscalls.nx

imported by: nx_ad_exceed.nxnx_ad_ivt_gate.nx

structs

none

consts

none

functions

28func iv_invalid(fields: *i64, W: i64, rules: *i64, nrules: i64) -> i64
called by 1: ivg_probe
41func iv_tally(ev: *i64, m: i64, W: i64, rules: *i64, nrules: i64, ov: *i64, oi: *i64) -> i64
called by 1: main
67func iv_load_rules(key: *u8, rules: *i64, maxr: i64) -> i64
called by 1: main calls 3: sys_mmapads_getbf_parse_rules