Repository navigation
Minor release. Policies can now check the shape of a param's value with match: 'pattern'. Rakuten uses it to stand down on real Rakuten site IDs only. Impact stand-downs last at least 30 minutes, as Impact's policy asks, and afsrc=1 is handled as the shared signal it is. Signed policy refresh is stricter, and the relay holds on to earlier referrals more reliably. No exports were removed, and code written for 0.4.0 still type-checks.
Upgrading from 0.4.x
- Rakuten counts a plain
siteIDonly in Rakuten's site-ID shape (11 characters, a hyphen, 22 characters). It stands down on real Rakuten site IDs and leaves the unrelatedsiteIDparams many sites use alone.ranMID,ranEAIDandranSiteIDwork as before. - An Impact stand-down lasts at least 30 minutes, so it survives a quick browser restart.
- Your own click accounts for
afsrc=1in the same URL. When a scopedselfPatternsmatch is in the URL, anafsrc=1in that same URL no longer stands you down.afsrc=1on its own still stands down everywhere it did. - Signed policy refresh is stricter. A bundle may only reuse regex patterns the client already ships, and it can't remove
disableHostsortrackingHosts. New domains go in assuffixrules. Serve these policies to 0.5.0 clients: 0.4.0 doesn't knowmatch: 'pattern'. - Saved state gains optional fields that 0.4.0 ignores, so rolling back keeps working.
Added
match: 'pattern'onParamMatcher: an anchored regular expression, kept fast by accepting only a small subset (single characters or classes with counts, at most one of them variable-length, no groups or|). Works in detection, every adapter, andselfPatterns. An optionalexampledocuments a matching value.shared: trueonParamMatcherandDomainRule, for a signal several networks append. The bundledcj,impactanduniversalpolicies markafsrc=1this way.Decision.matchedParamsandDecision.sharedOnly: a fresh stand-down names the params that triggered it (names only, never values), and says when only a shared signal was behind it.
Changed
rakutenPolicy0.2.0,impactPolicy0.2.0 (30-minute minimum, citing Impact's stand-down announcement),cjPolicy0.3.0 anduniversalPolicy0.2.0 (afsrc=1marked shared).selfClickLiftcan lift a competitor's same-network click that also carriedafsrc=1. A stand-down where any landing carriedafsrc=1alone is never lifted.
Fixed
- Relay: a referral from an earlier landing in the tab stands down no matter when the shop strips your own click's param, and param names a page writes into the capture's copy can't push out a real referral.
- Signed bundles can't add a new regex rule or remove
disableHosts/trackingHosts.
Tooling (repo-only, not shipped in the npm package)
- The
relay-e2ebrowser check gains RakutensiteIDand sharedafsrc=1cases.
The published package ships only dist, README.md, LICENSE, POLICIES.md and ADOPTING.md. Full details are in CHANGELOG.md.
Full diff: v0.4.0...v0.5.0