Celtra event envelopes check encoded JSON data.
Source-scoped warning checks for Celtra /json/ browser-base64 UTF-8 event and redirect envelopes. Checks encoding, container shapes and common runtime metadata when instantiation is supplied. Caller overrides, blank values, empty batches, legacy fields and custom data remain open. Pixel and collect transports are excluded.
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 |
|---|---|---|---|---|
celtra_payload |
optional | The first-party sender appends nonempty browser btoa output for UTF-8 JSON after /json/. Capture the entire remainder, including raw plus, slash and padding. Query or form fields cannot supply an empty physical path slot. Presence diagnostic severity: warning. Fix: Compare the physical path with the original sender output; preserve its encoded bytes. | vendor.celtra-json.param.celtra_payload.empty |
docs |
root |
optional | The source pixel and redirect helpers wrap their payload in an object. Unknown object properties remain accepted. Decoded body source: celtra_payload. Encoding: base64_json. Decoding diagnostic severity: warning. Presence diagnostic severity: warning. Native JSON type: object. | vendor.celtra-json.body.root.invalid |
docs |
events |
recommended | Both published helpers emit an events array. Empty arrays are native for redirect and empty-batch cases; no per-batch maximum is inferred from the runtime session event counter. Decoded body source: celtra_payload. Encoding: base64_json. Decoding diagnostic severity: warning. Presence diagnostic severity: warning. Native JSON type: array. | vendor.celtra-json.body.events.missingvendor.celtra-json.body.events.invalid |
docs |
pixels |
optional | The redirect helper carries its pending pixel URLs in an array. The ordinary event helper omits this field. Values, URL schemes and receiver behavior remain open. Decoded body source: celtra_payload. Encoding: base64_json. Decoding diagnostic severity: warning. Presence diagnostic severity: warning. Native JSON type: array. | vendor.celtra-json.body.pixels.invalid |
docs |
root |
optional | TrackingCenter creates plain event objects and shallow-merges caller fields. Arbitrary event properties and overridden native values remain accepted. Body scope: events[]. Decoded body source: celtra_payload. Encoding: base64_json. Decoding diagnostic severity: warning. Presence diagnostic severity: warning. Native JSON type: object. | vendor.celtra-json.body.root.invalid |
docs |
instantiation |
optional | This source-generated runtime carrier selects default-completeness advice. No type, numeric grammar or missing-field requirement is imposed on the marker itself. Body scope: events[]. Decoded body source: celtra_payload. Encoding: base64_json. Decoding diagnostic severity: warning. Presence diagnostic severity: warning. | docs | |
sessionId |
recommended | When the runtime instantiation carrier is supplied, compare this common TrackingCenter default with the source-produced event. Its value remains unrestricted because the sender permits caller overrides. Body scope: events[]. Decoded body source: celtra_payload. Encoding: base64_json. Decoding diagnostic severity: warning. Applies when {"kind":"exists","param":"instantiation"}. Presence diagnostic severity: warning. Fix: Compare the event with the originating Celtra runtime. This is producer-completeness advice, not a receiver rejection rule. | vendor.celtra-json.body.sessionId.missing |
docs |
index |
recommended | When the runtime instantiation carrier is supplied, compare this common TrackingCenter default with the source-produced event. Its value remains unrestricted because the sender permits caller overrides. Body scope: events[]. Decoded body source: celtra_payload. Encoding: base64_json. Decoding diagnostic severity: warning. Applies when {"kind":"exists","param":"instantiation"}. Presence diagnostic severity: warning. Fix: Compare the event with the originating Celtra runtime. This is producer-completeness advice, not a receiver rejection rule. | vendor.celtra-json.body.index.missing |
docs |
clientTimestamp |
recommended | When the runtime instantiation carrier is supplied, compare this common TrackingCenter default with the source-produced event. Its value remains unrestricted because the sender permits caller overrides. Body scope: events[]. Decoded body source: celtra_payload. Encoding: base64_json. Decoding diagnostic severity: warning. Applies when {"kind":"exists","param":"instantiation"}. Presence diagnostic severity: warning. Fix: Compare the event with the originating Celtra runtime. This is producer-completeness advice, not a receiver rejection rule. | vendor.celtra-json.body.clientTimestamp.missing |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/celtra-json
Try this failing payload in the playground. An example with a validation finding.
https://track.celtra.com/json/
cargo install pixellint
·
npm install pixellint