Adnami trackers retain custom event names and validate SDK telemetry.
The public Adnami SDK constructs creative, source URL and session fields, then sends image GET or beacon POST requests. These checks describe the inspected producer.
Custom event names remain open. Metadata strings, base64 custom data and unpublished collector semantics are not treated as a closed server schema.
Apply the contracts within their published source scope.
Custom event names remain open. Metadata strings, base64 custom data and unpublished collector semantics are not treated as a closed server schema.
What this pack matches
Rules
Codes are stable. A finding in CI, MCP, or the playground lands on the same id.
| Field | Required | What it checks | Rule ids | Source |
|---|---|---|---|---|
ev |
required | SDK event name. Public trackEvent accepts custom names. Evidence: vendor template. | vendor.adnami-tracker.param.ev.missingvendor.adnami-tracker.param.ev.empty |
docs |
cc |
required | SDK creative code, including its all-zero error-report code. Evidence: vendor template. | vendor.adnami-tracker.param.cc.missingvendor.adnami-tracker.param.cc.emptyvendor.adnami-tracker.param.cc.invalid |
docs |
cs |
required | SDK source URL after decoding. Evidence: vendor template. | vendor.adnami-tracker.param.cs.missingvendor.adnami-tracker.param.cs.emptyvendor.adnami-tracker.param.cs.invalid |
docs |
_ |
required | SDK event timestamp from Date.now. Evidence: vendor template. | vendor.adnami-tracker.param._.missingvendor.adnami-tracker.param._.emptyvendor.adnami-tracker.param._.invalid |
docs |
sid |
required | SDK opaque session ID, with numeric error-report IDs also supported. Evidence: vendor template. | vendor.adnami-tracker.param.sid.missingvendor.adnami-tracker.param.sid.empty |
docs |
sit |
required | SDK session creation timestamp from Date.now. Evidence: vendor template. | vendor.adnami-tracker.param.sit.missingvendor.adnami-tracker.param.sit.emptyvendor.adnami-tracker.param.sit.invalid |
docs |
t |
optional | SDK numeric field: Elapsed event time. Evidence: vendor template. | vendor.adnami-tracker.param.t.emptyvendor.adnami-tracker.param.t.invalid |
docs |
ww |
optional | SDK numeric field: Viewport width. Evidence: vendor template. Minimum numeric value: 0. | vendor.adnami-tracker.param.ww.invalid |
docs |
wh |
optional | SDK numeric field: Viewport height. Evidence: vendor template. Minimum numeric value: 0. | vendor.adnami-tracker.param.wh.invalid |
docs |
aw |
optional | SDK numeric field: Ad width. Evidence: vendor template. Minimum numeric value: 0. | vendor.adnami-tracker.param.aw.invalid |
docs |
ah |
optional | SDK numeric field: Ad height. Evidence: vendor template. Minimum numeric value: 0. | vendor.adnami-tracker.param.ah.invalid |
docs |
vs |
optional | SDK numeric field: Viewed surface. Evidence: vendor template. | vendor.adnami-tracker.param.vs.emptyvendor.adnami-tracker.param.vs.invalid |
docs |
vsw |
optional | SDK numeric field: Viewed surface weight. Evidence: vendor template. | vendor.adnami-tracker.param.vsw.emptyvendor.adnami-tracker.param.vsw.invalid |
docs |
vr |
optional | SDK numeric field: Visible percentage. Evidence: vendor template. Minimum numeric value: 0. Maximum numeric value: 100. | vendor.adnami-tracker.param.vr.invalid |
docs |
dist |
optional | SDK numeric field: Distance. Evidence: vendor template. | vendor.adnami-tracker.param.dist.emptyvendor.adnami-tracker.param.dist.invalid |
docs |
sw |
optional | SDK numeric field: Slot width. Evidence: vendor template. Minimum numeric value: 0. | vendor.adnami-tracker.param.sw.invalid |
docs |
sh |
optional | SDK numeric field: Slot height. Evidence: vendor template. Minimum numeric value: 0. | vendor.adnami-tracker.param.sh.invalid |
docs |
ff |
optional | SDK numeric field: Format factor. Evidence: vendor template. | vendor.adnami-tracker.param.ff.emptyvendor.adnami-tracker.param.ff.invalid |
docs |
md |
optional | SDK metadata string. Caller strings need not be JSON. Evidence: vendor template. | docs | |
cd |
optional | SDK custom data encoded with btoa(JSON.stringify(value)). Evidence: vendor template. | docs | |
aid |
optional | Ad unit identifier. Evidence: vendor template. | docs | |
app |
optional | Application label. Evidence: vendor template. | docs | |
pf |
optional | SDK platform detection. Evidence: vendor template. | docs | |
wd |
optional | SDK webdriver detection. Evidence: vendor template. | docs | |
dev |
optional | Device label. Evidence: vendor template. | docs | |
sz |
optional | Size label. Evidence: vendor template. | docs | |
v |
optional | SDK version. Evidence: vendor template. | docs | |
|
optional | Custom data must decode as JSON using the SDK Latin-1 btoa encoding. The SDK serializer admits any JSON value. Decoded body source: cd. Encoding: base64_latin1_json. Evidence: vendor template. | docs | |
method |
required | Published SDK uses Image GET or sendBeacon POST, without requiring a body or Content-Type. Complete HTTP capture contract. Evidence: vendor template. | vendor.adnami-tracker.http.method.missingvendor.adnami-tracker.http.method.emptyvendor.adnami-tracker.http.method.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/adnami-tracker
Or paste it into the playground. Same engine, in the browser, nothing sent anywhere.
cargo install pixellint
·
npm install pixellint