pixellint

BlueKai site tags put the site ID in the path

Oracle documents the ID swap tag as stags.bluekai.com/site/{YOUR_SITE_ID}. The JS Return tag uses the same path on tags.bluekai.com. Email oHashes go in e_id_s as SHA-256, not as raw email.

The site ID is an integer path segment

A /site/ URL with a non-numeric site ID is not a BlueKai container tag.

Rule: vendor.oracle-bluekai.param.site_id.invalid

What this pack matches

Hosts
tags.bluekai.com, stags.bluekai.com
Paths
/site/
Vendor docs
docs.oracle.com/cd/E56931_01/trans/cx/F41777-04/IntegratingBlueKaiPlatform/IDManagement/sending_ohashes.html

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
site_id required It is the BlueKai site ID. Oracle documents the ID swap tag as stags.bluekai.com/site/{YOUR_SITE_ID}. Fix: Copy the container site ID from BlueKai so the path is /site/{siteId}. vendor.oracle-bluekai.param.site_id.missing
vendor.oracle-bluekai.param.site_id.empty
vendor.oracle-bluekai.param.site_id.invalid
docs
e_id_s optional It is a SHA-256 oHash for email. Oracle documents that no personally identifiable information may be sent; IDs derived from PII must be hashed first. Fix: Hash the email with SHA-256 and send the digest as e_id_s. vendor.oracle-bluekai.param.e_id_s.empty
vendor.oracle-bluekai.param.e_id_s.invalid
docs
p_id_s optional Oracle documents p_id_s as a SHA-256 phone digest. vendor.oracle-bluekai.param.p_id_s.empty
vendor.oracle-bluekai.param.p_id_s.invalid
docs
e_id_m deprecated Oracle says legacy MD5 email hashing should not be used. vendor.oracle-bluekai.param.e_id_m.deprecated docs
p_id_m deprecated Oracle says legacy MD5 phone hashing should not be used. vendor.oracle-bluekai.param.p_id_m.deprecated docs
limit optional Oracle documents the pixel firing limit as an integer. vendor.oracle-bluekai.param.limit.empty
vendor.oracle-bluekai.param.limit.invalid
docs
phint optional Oracle documents phint as an encoded key/value pair, including e_id_s and p_id_s SHA-256 oHashes. Other page-context keys are permitted. docs
unhashed_email required A parameter carries what looks like a raw email address. Oracle documents oHashes as SHA-256 digests and forbids sending personally identifiable information. Fix: Hash the email with SHA-256 and send it as e_id_s. vendor.oracle-bluekai.unhashed_email docs
e_id_s_limit_required required The oHash tag needs its documented zero pixel limit. vendor.oracle-bluekai.e_id_s_limit_required docs
p_id_s_limit_required required The oHash tag needs its documented zero pixel limit. vendor.oracle-bluekai.p_id_s_limit_required docs
e_id_s_zero_limit required Oracle requires limit=0 when an oHash identifier is submitted. vendor.oracle-bluekai.e_id_s_zero_limit docs
p_id_s_zero_limit required Oracle requires limit=0 when an oHash identifier is submitted. vendor.oracle-bluekai.p_id_s_zero_limit docs
phint_hash.invalid required Oracle phint email and phone oHashes must contain a 64-character hexadecimal SHA-256 digest after their encoded key. vendor.oracle-bluekai.phint_hash.invalid docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/oracle-bluekai

Try this failing payload in the playground. BlueKai site tag with a non-numeric site ID.

https://stags.bluekai.com/site/not-a-number

cargo install pixellint · npm install pixellint