standdown 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,620 @@
1
+ 'use strict';
2
+
3
+ // src/policies.ts
4
+ var LAST_VERIFIED = "2026-07-10";
5
+ var THIRTY_MINUTES_MS = 18e5;
6
+ var COC_INACTIVITY_MS = 36e5;
7
+ var COC_FALLBACK_MIN_MS = 54e5;
8
+ var PIE_STANDDOWN_DOMAINS_URL = "https://raw.githubusercontent.com/piedotorg/standdown-domains/main/standdown-domains.json";
9
+ var standdownBehaviors = [
10
+ "suppress-prompts",
11
+ "no-cookie-write",
12
+ "no-redirect",
13
+ "no-background-tracking"
14
+ ];
15
+ var cocDefaults = {
16
+ scope: "advertiser",
17
+ sessionRule: "inactivity-window",
18
+ minDurationMs: COC_FALLBACK_MIN_MS,
19
+ inactivityMs: COC_INACTIVITY_MS,
20
+ behaviors: standdownBehaviors
21
+ };
22
+ var cjPolicy = {
23
+ id: "cj",
24
+ schemaVersion: 3,
25
+ policyVersion: "0.1.0",
26
+ network: {
27
+ id: "cj",
28
+ name: "CJ Affiliate",
29
+ policyUrl: "https://www.cj.com/legal/software-policy"
30
+ },
31
+ detection: {
32
+ landingParams: [
33
+ { anyOf: [{ allOf: [{ name: "cjevent" }] }] },
34
+ { anyOf: [{ allOf: [{ name: "cjdata" }] }] },
35
+ {
36
+ anyOf: [
37
+ { allOf: [{ name: "utm_source", value: "cj", match: "equals" }] }
38
+ ]
39
+ },
40
+ {
41
+ anyOf: [{ allOf: [{ name: "sf_cs", value: "cj", match: "equals" }] }]
42
+ },
43
+ {
44
+ anyOf: [{ allOf: [{ name: "afsrc", value: "1", match: "equals" }] }]
45
+ }
46
+ ],
47
+ redirectDomains: [
48
+ { pattern: "anrdoezrs.net", kind: "suffix", comment: "CJ rotating domain" },
49
+ {
50
+ pattern: "commission-junction.com",
51
+ kind: "suffix",
52
+ comment: "CJ rotating domain"
53
+ },
54
+ { pattern: "dpbolvw.net", kind: "suffix", comment: "CJ rotating domain" },
55
+ { pattern: "apmebf.com", kind: "suffix", comment: "CJ rotating domain" },
56
+ { pattern: "jdoqocy.com", kind: "suffix", comment: "CJ rotating domain" },
57
+ { pattern: "kqzyfj.com", kind: "suffix", comment: "CJ rotating domain" },
58
+ { pattern: "qksrv.net", kind: "suffix", comment: "CJ rotating domain" },
59
+ { pattern: "tkqlhce.com", kind: "suffix", comment: "CJ rotating domain" },
60
+ { pattern: "qksz.net", kind: "suffix", comment: "CJ rotating domain" },
61
+ { pattern: "afcyhf.com", kind: "suffix", comment: "CJ rotating domain" },
62
+ { pattern: "awltovhc.com", kind: "suffix", comment: "CJ rotating domain" },
63
+ { pattern: "ftjcfx.com", kind: "suffix", comment: "CJ rotating domain" },
64
+ { pattern: "lduhtrp.net", kind: "suffix", comment: "CJ rotating domain" },
65
+ { pattern: "tqlkg.com", kind: "suffix", comment: "CJ rotating domain" },
66
+ { pattern: "awxibrm.com", kind: "suffix", comment: "CJ rotating domain" },
67
+ { pattern: "cualbr.com", kind: "suffix", comment: "CJ rotating domain" },
68
+ { pattern: "rnsfpw.net", kind: "suffix", comment: "CJ rotating domain" },
69
+ { pattern: "vofzpwh.com", kind: "suffix", comment: "CJ rotating domain" },
70
+ { pattern: "yceml.net", kind: "suffix", comment: "CJ rotating domain" }
71
+ ],
72
+ cookiePatterns: [
73
+ { name: "cje", match: "substring" },
74
+ { name: "cjevent_dc", match: "substring" }
75
+ ]
76
+ },
77
+ standdown: {
78
+ scope: "advertiser",
79
+ sessionRule: "session-or-min",
80
+ minDurationMs: THIRTY_MINUTES_MS,
81
+ behaviors: standdownBehaviors
82
+ },
83
+ activation: { mode: "user-click" },
84
+ metadata: {
85
+ sourceUrl: "https://www.cj.com/legal/software-policy",
86
+ lastVerified: LAST_VERIFIED,
87
+ notes: "CJ policy cites CJ domains, afsrc=1, and cjevent; rotating domain list is attributed to piedotorg/standdown-domains."
88
+ }
89
+ };
90
+ var impactPolicy = {
91
+ id: "impact",
92
+ schemaVersion: 3,
93
+ policyVersion: "0.1.0",
94
+ network: {
95
+ id: "impact",
96
+ name: "Impact",
97
+ policyUrl: "https://impact.com/stand-down-policy.ihtml"
98
+ },
99
+ detection: {
100
+ landingParams: [
101
+ {
102
+ anyOf: [{ allOf: [{ name: "afsrc", value: "1", match: "equals" }] }]
103
+ },
104
+ { anyOf: [{ allOf: [{ name: "irclickid" }] }] },
105
+ { anyOf: [{ allOf: [{ name: "irgwc" }] }] }
106
+ ],
107
+ cookiePatterns: [{ name: "im_ref", match: "substring" }]
108
+ },
109
+ standdown: {
110
+ scope: "advertiser",
111
+ sessionRule: "session-or-min",
112
+ minDurationMs: THIRTY_MINUTES_MS,
113
+ behaviors: standdownBehaviors
114
+ },
115
+ activation: { mode: "user-click" },
116
+ metadata: {
117
+ sourceUrl: "https://impact.com/stand-down-policy.ihtml",
118
+ lastVerified: LAST_VERIFIED,
119
+ notes: "Impact stand-down policy URL and irclickid/im_ref signals are from pre-build research; irgwc is attributed to piedotorg/standdown-domains."
120
+ }
121
+ };
122
+ var rakutenPolicy = {
123
+ id: "rakuten",
124
+ schemaVersion: 3,
125
+ policyVersion: "0.1.0",
126
+ network: {
127
+ id: "rakuten",
128
+ name: "Rakuten Advertising",
129
+ policyUrl: "https://github.com/rakutenrewards/PublisherStandown-SDK"
130
+ },
131
+ detection: {
132
+ landingParams: [
133
+ {
134
+ anyOf: [
135
+ {
136
+ allOf: [{ name: "ranMID" }, { name: "ranEAID" }, { name: "ranSiteID" }]
137
+ },
138
+ { allOf: [{ name: "ranEAID" }, { name: "ranSiteID" }] },
139
+ { allOf: [{ name: "ranSiteID" }] },
140
+ { allOf: [{ name: "siteID" }] }
141
+ ]
142
+ }
143
+ ],
144
+ redirectDomains: [
145
+ { pattern: "click.linksynergy.com", kind: "suffix" },
146
+ { pattern: "linksynergy.jrs5.com", kind: "suffix" },
147
+ { pattern: "tk.jrs5.com", kind: "suffix" },
148
+ {
149
+ pattern: "(^|\\.)linksynergy\\.[a-z]+$",
150
+ kind: "regex",
151
+ comment: "linksynergy.* domain family"
152
+ }
153
+ ],
154
+ cookiePatterns: [
155
+ { name: "lsclick_mid", match: "substring" },
156
+ { name: "linkshare", match: "substring" }
157
+ ]
158
+ },
159
+ standdown: {
160
+ scope: "advertiser",
161
+ sessionRule: "session-or-min",
162
+ minDurationMs: COC_FALLBACK_MIN_MS,
163
+ behaviors: standdownBehaviors
164
+ },
165
+ activation: { mode: "user-click" },
166
+ metadata: {
167
+ sourceUrl: "https://github.com/rakutenrewards/PublisherStandown-SDK",
168
+ lastVerified: LAST_VERIFIED,
169
+ notes: "Rakuten SDK is detection-only and ships no policies; duration uses CoC fallback because the public source describes browser-session semantics without a fixed millisecond value."
170
+ }
171
+ };
172
+ var awinPolicy = {
173
+ id: "awin",
174
+ schemaVersion: 3,
175
+ policyVersion: "0.1.0",
176
+ network: {
177
+ id: "awin",
178
+ name: "Awin",
179
+ policyUrl: "https://success.awin.com/s/article/Downloadable-Software-Guidelines"
180
+ },
181
+ detection: {
182
+ landingParams: [
183
+ { anyOf: [{ allOf: [{ name: "awc" }] }] },
184
+ {
185
+ anyOf: [
186
+ { allOf: [{ name: "utm_source", value: "aw", match: "equals" }] }
187
+ ]
188
+ },
189
+ {
190
+ anyOf: [{ allOf: [{ name: "source", value: "aw", match: "equals" }] }]
191
+ }
192
+ ],
193
+ redirectDomains: [{ pattern: "awin1.com", kind: "suffix" }]
194
+ },
195
+ standdown: cocDefaults,
196
+ activation: { mode: "user-click" },
197
+ metadata: {
198
+ sourceUrl: "https://success.awin.com/s/article/Downloadable-Software-Guidelines",
199
+ lastVerified: LAST_VERIFIED,
200
+ notes: "Awin awc/awin1.com signals are from pre-build research, Awin downloadable-software guidance, Awin Soft Click status docs, and piedotorg/standdown-domains. CoC inactivity-window defaults are broader than the seed table session-or-min entry and are ratified by SPEC A5."
201
+ }
202
+ };
203
+ var shareasalePolicy = {
204
+ id: "shareasale",
205
+ schemaVersion: 3,
206
+ policyVersion: "0.1.0",
207
+ network: {
208
+ id: "shareasale",
209
+ name: "ShareASale",
210
+ policyUrl: "https://success.awin.com/s/article/Downloadable-Software-Guidelines"
211
+ },
212
+ detection: {
213
+ landingParams: [{ anyOf: [{ allOf: [{ name: "sscid" }] }] }],
214
+ redirectDomains: [
215
+ { pattern: "shareasale.com", kind: "suffix" },
216
+ { pattern: "shrsl.com", kind: "suffix" }
217
+ ],
218
+ cookiePatterns: [{ name: "sscid", match: "substring" }]
219
+ },
220
+ standdown: cocDefaults,
221
+ activation: { mode: "user-click" },
222
+ metadata: {
223
+ sourceUrl: "https://success.awin.com/s/article/Downloadable-Software-Guidelines",
224
+ lastVerified: LAST_VERIFIED,
225
+ notes: "ShareASale is Awin-owned and is treated under Awin downloadable-software/CoC guidance. sscid/shareasale.com/shrsl.com signals are from pre-build research and piedotorg/standdown-domains. CoC inactivity-window defaults are broader than the seed table session-or-min entry and are ratified by SPEC A5."
226
+ }
227
+ };
228
+ var ebayEpnPolicy = {
229
+ id: "ebay-epn",
230
+ schemaVersion: 3,
231
+ policyVersion: "0.1.0",
232
+ network: {
233
+ id: "ebay-epn",
234
+ name: "eBay Partner Network",
235
+ policyUrl: "https://partnernetwork.ebay.com/browser-extension-policy"
236
+ },
237
+ detection: {
238
+ advertiserHosts: [
239
+ {
240
+ pattern: "(^|\\.)ebay\\.[a-z.]+$",
241
+ kind: "regex",
242
+ comment: "Scope eBay journey-only rules to eBay advertiser hosts"
243
+ }
244
+ ],
245
+ landingParams: [
246
+ {
247
+ anyOf: [
248
+ { allOf: [{ name: "campid" }] },
249
+ { allOf: [{ name: "pubid" }] },
250
+ { allOf: [{ name: "mkevt" }] },
251
+ { allOf: [{ name: "mkcid" }] },
252
+ { allOf: [{ name: "mkrid" }] },
253
+ { allOf: [{ name: "campid" }, { name: "_trkparms" }] },
254
+ { allOf: [{ name: "mktype" }, { name: "gclid" }] }
255
+ ]
256
+ }
257
+ ],
258
+ redirectDomains: [{ pattern: "rover.ebay.com", kind: "suffix" }],
259
+ initiatorRules: [
260
+ {
261
+ referrerClass: "other",
262
+ reason: "non-approved source during eBay journey"
263
+ }
264
+ ]
265
+ },
266
+ standdown: cocDefaults,
267
+ activation: {
268
+ mode: "user-click",
269
+ maxPromptsPerJourney: 2,
270
+ allowedReferrerClasses: ["own-site", "organic", "direct"]
271
+ },
272
+ metadata: {
273
+ sourceUrl: "https://partnernetwork.ebay.com/browser-extension-policy",
274
+ lastVerified: LAST_VERIFIED,
275
+ notes: "eBay prompt/referrer requirements are from pre-build research; landing params and rover.ebay.com are also attributed to piedotorg/standdown-domains."
276
+ }
277
+ };
278
+ var amazonPolicy = {
279
+ id: "amazon",
280
+ schemaVersion: 3,
281
+ policyVersion: "0.1.0",
282
+ network: {
283
+ id: "amazon",
284
+ name: "Amazon Associates",
285
+ policyUrl: "https://affiliate-program.amazon.com/help/operating/policies"
286
+ },
287
+ detection: {
288
+ advertiserHosts: [
289
+ {
290
+ pattern: "(^|\\.)amazon\\.[a-z.]+$",
291
+ kind: "regex",
292
+ comment: "Scope Amazon tag detection to Amazon advertiser hosts"
293
+ }
294
+ ],
295
+ landingParams: [{ anyOf: [{ allOf: [{ name: "tag" }] }] }]
296
+ },
297
+ standdown: {
298
+ scope: "advertiser",
299
+ sessionRule: "session-or-min",
300
+ minDurationMs: COC_FALLBACK_MIN_MS,
301
+ behaviors: standdownBehaviors
302
+ },
303
+ activation: { mode: "never" },
304
+ metadata: {
305
+ sourceUrl: "https://affiliate-program.amazon.com/help/operating/policies",
306
+ lastVerified: LAST_VERIFIED,
307
+ notes: "Amazon forbids Special Links in browser extensions; tag is detected for attribution visibility, but activation is never allowed."
308
+ }
309
+ };
310
+ var sovrnSkimlinksPolicy = {
311
+ id: "sovrn-skimlinks",
312
+ schemaVersion: 3,
313
+ policyVersion: "0.1.0",
314
+ network: {
315
+ id: "sovrn-skimlinks",
316
+ name: "Sovrn / Skimlinks",
317
+ policyUrl: "https://www.sovrn.com/sovrn-commerce-publisher-code-of-conduct/"
318
+ },
319
+ detection: {
320
+ // Low-confidence entry from research/domain knowledge; keep visible for audit.
321
+ redirectDomains: [
322
+ { pattern: "go.skimresources.com", kind: "suffix" },
323
+ { pattern: "go.redirectingat.com", kind: "suffix" }
324
+ ]
325
+ },
326
+ standdown: cocDefaults,
327
+ activation: { mode: "user-click" },
328
+ metadata: {
329
+ sourceUrl: "https://www.sovrn.com/sovrn-commerce-publisher-code-of-conduct/",
330
+ lastVerified: LAST_VERIFIED,
331
+ notes: "unverified against network docs; redirect domains from domain knowledge. CoC inactivity-window defaults are broader than the seed table session-or-min entry and are ratified by SPEC A5."
332
+ }
333
+ };
334
+ var partnerizePolicy = {
335
+ id: "partnerize",
336
+ schemaVersion: 3,
337
+ policyVersion: "0.1.0",
338
+ network: {
339
+ id: "partnerize",
340
+ name: "Partnerize",
341
+ policyUrl: "https://partnerize.com/legal/terms-and-conditions/"
342
+ },
343
+ detection: {
344
+ landingParams: [{ anyOf: [{ allOf: [{ name: "clickref" }] }] }],
345
+ // Low-confidence entry from research/domain knowledge; keep visible for audit.
346
+ redirectDomains: [{ pattern: "prf.hn", kind: "suffix" }]
347
+ },
348
+ standdown: cocDefaults,
349
+ activation: { mode: "user-click" },
350
+ metadata: {
351
+ sourceUrl: "https://partnerize.com/legal/terms-and-conditions/",
352
+ lastVerified: LAST_VERIFIED,
353
+ notes: "unverified against network docs; prf.hn redirect domain from domain knowledge. CoC inactivity-window defaults are broader than the seed table session-or-min entry and are ratified by SPEC A5."
354
+ }
355
+ };
356
+ var universalPolicy = {
357
+ id: "universal",
358
+ schemaVersion: 3,
359
+ policyVersion: "0.1.0",
360
+ network: {
361
+ id: "universal",
362
+ name: "Universal affiliate source",
363
+ policyUrl: "https://github.com/piedotorg/standdown-domains"
364
+ },
365
+ detection: {
366
+ landingParams: [
367
+ {
368
+ anyOf: [{ allOf: [{ name: "afsrc", value: "1", match: "equals" }] }]
369
+ }
370
+ ],
371
+ redirectDomains: [
372
+ {
373
+ pattern: "^https?\\:\\/.*[\\?\\&]afsrc=1",
374
+ kind: "regex",
375
+ comment: "Universal standdown parameter from piedotorg/standdown-domains"
376
+ },
377
+ {
378
+ pattern: "^https?:\\/\\/www\\.youtube\\.com\\/redirect",
379
+ kind: "regex",
380
+ comment: "YouTube redirect to a merchant from piedotorg/standdown-domains"
381
+ },
382
+ {
383
+ pattern: "^https?\\:\\/\\/www\\.anrdoezrs\\.net\\/",
384
+ kind: "regex",
385
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
386
+ },
387
+ {
388
+ pattern: "^https?\\:\\/\\/www\\.commission-junction\\.com\\/",
389
+ kind: "regex",
390
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
391
+ },
392
+ {
393
+ pattern: "^https?\\:\\/\\/www\\.dpbolvw\\.net\\/",
394
+ kind: "regex",
395
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
396
+ },
397
+ {
398
+ pattern: "^https?\\:\\/\\/www\\.apmebf\\.com\\/",
399
+ kind: "regex",
400
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
401
+ },
402
+ {
403
+ pattern: "^https?\\:\\/\\/www\\.jdoqocy\\.com\\/",
404
+ kind: "regex",
405
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
406
+ },
407
+ {
408
+ pattern: "^https?\\:\\/\\/www\\.kqzyfj\\.com\\/",
409
+ kind: "regex",
410
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
411
+ },
412
+ {
413
+ pattern: "^https?\\:\\/\\/www\\.qksrv\\.net\\/",
414
+ kind: "regex",
415
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
416
+ },
417
+ {
418
+ pattern: "^https?\\:\\/\\/www\\.tkqlhce\\.com\\/",
419
+ kind: "regex",
420
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
421
+ },
422
+ {
423
+ pattern: "^https?\\:\\/\\/www\\.qksz\\.net\\/",
424
+ kind: "regex",
425
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
426
+ },
427
+ {
428
+ pattern: "^https?\\:\\/\\/www\\.afcyhf\\.com\\/",
429
+ kind: "regex",
430
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
431
+ },
432
+ {
433
+ pattern: "^https?\\:\\/\\/www\\.awltovhc\\.com\\/",
434
+ kind: "regex",
435
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
436
+ },
437
+ {
438
+ pattern: "^https?\\:\\/\\/www\\.ftjcfx\\.com\\/",
439
+ kind: "regex",
440
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
441
+ },
442
+ {
443
+ pattern: "^https?\\:\\/\\/www\\.lduhtrp\\.net\\/",
444
+ kind: "regex",
445
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
446
+ },
447
+ {
448
+ pattern: "^https?\\:\\/\\/www\\.tqlkg\\.com\\/",
449
+ kind: "regex",
450
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
451
+ },
452
+ {
453
+ pattern: "^https?\\:\\/\\/www\\.awxibrm\\.com\\/",
454
+ kind: "regex",
455
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
456
+ },
457
+ {
458
+ pattern: "^https?\\:\\/\\/www\\.cualbr\\.com\\/",
459
+ kind: "regex",
460
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
461
+ },
462
+ {
463
+ pattern: "^https?\\:\\/\\/www\\.rnsfpw\\.net\\/",
464
+ kind: "regex",
465
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
466
+ },
467
+ {
468
+ pattern: "^https?\\:\\/\\/www\\.vofzpwh\\.com\\/",
469
+ kind: "regex",
470
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
471
+ },
472
+ {
473
+ pattern: "^https?\\:\\/\\/www\\.yceml\\.net\\/",
474
+ kind: "regex",
475
+ comment: "CJ rotating domain from piedotorg/standdown-domains"
476
+ },
477
+ {
478
+ pattern: "^https?\\:\\/.*[\\?\\&]cjevent=",
479
+ kind: "regex",
480
+ comment: "CJ general link param from piedotorg/standdown-domains"
481
+ },
482
+ {
483
+ pattern: "^https?\\:\\/.*[\\?\\&]ranEAID=",
484
+ kind: "regex",
485
+ comment: "RAN general link param on landing from piedotorg/standdown-domains"
486
+ },
487
+ {
488
+ pattern: "^https?\\:\\/\\/tk\\.jrs5\\.com\\/",
489
+ kind: "regex",
490
+ comment: "RAN domain from piedotorg/standdown-domains"
491
+ },
492
+ {
493
+ pattern: "^https?\\:\\/\\/linksynergy\\.jrs5\\.com\\/",
494
+ kind: "regex",
495
+ comment: "RAN domain from piedotorg/standdown-domains"
496
+ },
497
+ {
498
+ pattern: "^https?\\:\\/\\/click\\.linksynergy\\.com\\/",
499
+ kind: "regex",
500
+ comment: "RAN domain from piedotorg/standdown-domains"
501
+ },
502
+ {
503
+ pattern: "^https?\\:\\/\\/www\\.gopjn\\.com\\/t",
504
+ kind: "regex",
505
+ comment: "ASC partner domain from piedotorg/standdown-domains"
506
+ },
507
+ {
508
+ pattern: "^https?\\:\\/\\/www\\.pjatr\\.com\\/t",
509
+ kind: "regex",
510
+ comment: "ASC partner domain from piedotorg/standdown-domains"
511
+ },
512
+ {
513
+ pattern: "^https?\\:\\/\\/www\\.pjtra\\.com\\/t",
514
+ kind: "regex",
515
+ comment: "ASC partner domain from piedotorg/standdown-domains"
516
+ },
517
+ {
518
+ pattern: "^https?\\:\\/\\/www\\.pntra\\.com\\/t\\/\\w+-\\w+",
519
+ kind: "regex",
520
+ comment: "ASC partner domain from piedotorg/standdown-domains"
521
+ },
522
+ {
523
+ pattern: "^https?\\:\\/\\/www\\.pntrac\\.com\\/t\\/\\w+-\\w+",
524
+ kind: "regex",
525
+ comment: "ASC partner domain from piedotorg/standdown-domains"
526
+ },
527
+ {
528
+ pattern: "^https?\\:\\/\\/www\\.pntrs\\.com\\/t\\/\\w+-\\w+",
529
+ kind: "regex",
530
+ comment: "ASC partner domain from piedotorg/standdown-domains"
531
+ },
532
+ {
533
+ pattern: "^https?\\:\\/.*\\.pepperjamnetwork\\.com",
534
+ kind: "regex",
535
+ comment: "ASC partner domain from piedotorg/standdown-domains"
536
+ },
537
+ {
538
+ pattern: "^https?\\:\\/.*[\\?\\&]irgwc=",
539
+ kind: "regex",
540
+ comment: "IMPACT landing page param on landing from piedotorg/standdown-domains"
541
+ },
542
+ {
543
+ pattern: "^https?\\:\\/\\/prf.hn/",
544
+ kind: "regex",
545
+ comment: "PZ general affiliate link from piedotorg/standdown-domains"
546
+ },
547
+ {
548
+ pattern: "^https?\\:\\/\\/www\\.awin1.com/",
549
+ kind: "regex",
550
+ comment: "AW general affiliate link from piedotorg/standdown-domains"
551
+ },
552
+ {
553
+ pattern: "^https?\\:\\/\\/track\\.webgains\\.com/",
554
+ kind: "regex",
555
+ comment: "Webgains general affiliate link from piedotorg/standdown-domains"
556
+ },
557
+ {
558
+ pattern: "^https?\\:\\/\\/shrsl.com/",
559
+ kind: "regex",
560
+ comment: "Sharesale shortened affiliate link from piedotorg/standdown-domains"
561
+ },
562
+ {
563
+ pattern: "^https?\\:\\/\\/www\\.shareasale.com/",
564
+ kind: "regex",
565
+ comment: "Sharesale general affiliate link from piedotorg/standdown-domains"
566
+ },
567
+ {
568
+ pattern: "^https?\\:\\/\\/howl\\.link\\/link",
569
+ kind: "regex",
570
+ comment: "Howl partner general affiliate link from piedotorg/standdown-domains"
571
+ },
572
+ {
573
+ pattern: "^https:\\/\\/[\\w]+\\.ebay.*[\\?\\&](mkcid=|campid=|mkevt=)",
574
+ kind: "regex",
575
+ comment: "EBAY affiliate query param from piedotorg/standdown-domains"
576
+ }
577
+ ]
578
+ },
579
+ standdown: cocDefaults,
580
+ activation: { mode: "user-click" },
581
+ metadata: {
582
+ sourceUrl: PIE_STANDDOWN_DOMAINS_URL,
583
+ lastVerified: LAST_VERIFIED,
584
+ notes: "Full piedotorg/standdown-domains rule set imported under MIT license; duration semantics use Affiliate Software Code of Conduct defaults."
585
+ }
586
+ };
587
+ var allPolicies = [
588
+ cjPolicy,
589
+ impactPolicy,
590
+ rakutenPolicy,
591
+ awinPolicy,
592
+ shareasalePolicy,
593
+ ebayEpnPolicy,
594
+ amazonPolicy,
595
+ sovrnSkimlinksPolicy,
596
+ partnerizePolicy,
597
+ universalPolicy
598
+ ];
599
+ function policiesFor(networks) {
600
+ const wanted = new Set(networks);
601
+ return allPolicies.filter(
602
+ (policy) => wanted.has(policy.id) || wanted.has(policy.network.id)
603
+ );
604
+ }
605
+
606
+ exports.allPolicies = allPolicies;
607
+ exports.amazonPolicy = amazonPolicy;
608
+ exports.awinPolicy = awinPolicy;
609
+ exports.cjPolicy = cjPolicy;
610
+ exports.cocDefaults = cocDefaults;
611
+ exports.ebayEpnPolicy = ebayEpnPolicy;
612
+ exports.impactPolicy = impactPolicy;
613
+ exports.partnerizePolicy = partnerizePolicy;
614
+ exports.policiesFor = policiesFor;
615
+ exports.rakutenPolicy = rakutenPolicy;
616
+ exports.shareasalePolicy = shareasalePolicy;
617
+ exports.sovrnSkimlinksPolicy = sovrnSkimlinksPolicy;
618
+ exports.universalPolicy = universalPolicy;
619
+ //# sourceMappingURL=policies.cjs.map
620
+ //# sourceMappingURL=policies.cjs.map