From 68018601859e1c2e671eb88f89fde0029e47c19f Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 11 Mar 2021 14:36:00 -0500 Subject: [PATCH 1/9] adding user identity pages --- _layouts/home.html | 8 ++++++++ assets/images/user-identity.png | Bin 0 -> 34311 bytes identity/prebid-identity.md | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 assets/images/user-identity.png create mode 100644 identity/prebid-identity.md diff --git a/_layouts/home.html b/_layouts/home.html index 5faca70eda..f114bd7b47 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -42,6 +42,14 @@

Prebid Documentation

Download Mobile SDK

+
+
+
Prebid User Identity Icon
+

Prebid User Identity

+

Supporting a thriving open web while respecting user privacy.

+ View Docs +
+
diff --git a/assets/images/user-identity.png b/assets/images/user-identity.png new file mode 100644 index 0000000000000000000000000000000000000000..571d6bb039d656abee052933702c584a97217a2c GIT binary patch literal 34311 zcmZ^~1ymi+vNyVMcY+29?(Xie@!;<6?hb(v9D=(CclY4#?(Q3Rd;HHi@80{}_r2Mx zr)#R}SJgFLtJieR>~KYSNhEkYcmM!^1e6j}`t0vN+a)aY=b2R|bshjfG`18KRRoHP z5-U2{n_1eJ0svCsiRv&K%EMS$+Dbr+K*fTP4Y6a$SagvHVq#U)#8^ml=}0)?{)yJ| zAZzUJbhNEBc}H3RO#~7*?EVdG1e%dnjq2QM3bN|Tmyw5whw)57^NH7DlY5#+f>2<+Viqdy2wrm11c@s+g^Ab9{>Ou#137qh$6s|72pvrM8OCdfCGKUp^RWkLl?RvgbWelQ3QYZ=Su0zgwifO z1P2gK=O;cG@$93ICo*8ALUED?eNTw+ToSbn_ye69zypm61J~#Ctq+Kb!bp`;{@3}N zTgW}j&nD5aiRWLehxV_UqOU%F6R2v3?8JLa;UY{5EVgd^Ey| zg5}#$?ZeYFvcb*TXj-EY!H8>8#yY`^r--ttm4SXv5ahgB4K)lPg~)SwQ7t-5!A=gVyIlLii}|aNk!*h zH6$AONQ8|UX%!Ir$}HG+0V`}Ozl ze2cLyiDfN?{#jNz6Pqw=lVlQ6Rn6dV-m6sN2A+|!`1d?B27yvk26=WtLQ>jD1*O4o z^Mh;2!Lr?+2qDC+Af|3`>809klUM{Y+jXS%%VaMy@XNrjdjK?tc?)Rs0^~@kZB{hQ zU_oMZu>Ps`sle}OR6);^qFQ&eUrbOUv5>}wAY#5T0H%qF-qn!D;*mXNz+!SFu2C+) zajXSwN^AU2xD+w+r>S5(HF<)Q`W%dKn1A62yZn{ABIX0c1WuwZ@i}mSIC0MP??VPd z-2OuRRTY8RJ|F{zzou&p1RxI)umcdK4@)GkIq8qF=fbNWH;b-O`a@pk+o)=qnD0BxoVqXG`C)vm4;Nqi- zs?xUF>B9a!kQEwUd=_36Kay9ILziI~4ZD`>l9t%$svrohSCi0=5Cr(sNqw?7XMND! z1a6r1CZm209Ux@r@Bfk8<-+WsaPdKCcQfdJ{586JF%S(}3v+A0s|7X~kS-xM2J0Fy zS^&bjnH|tGAh3H>9q=o&XeL&c z3?`05+JxeoKq;C|a)Bg07HdGwwwS`x^e~rx6tryU_S|Zx^x=32qCv zv=DhA=P7CnW*#ElNVUBABl&tl{?IJZsyu=t=Xz|26s&>1awhf2D90KuI)c%Gy(OD+ z#Io+v8lG~v_u1qc51GDxum>=-G${2DG5;$fik4s25dvF$z_H#iIKzsU5KCmuBS+hkxvjakW^BFC^#@y z!%@OJ$k2yF_C(;x`r{r8M3ks4kt`{XsgBW05^l4~#T&`IV@ZdOO{iN!bc8pA1w=Z< z{6s+cM@nZ@@4vZz#j<49hSdI;5o-}TF1Y=E_Xl}S$O@f3nI}dISdpKVvyt1mFf&uT za6OAxMn0WZrdrYel;J!^e5 zc>Hj5(SW-`TJO0ca?ZV?x^lOYT(5tm=yK-5#e?Dc%az9E{#a+~c%krU<sD>bZWm_+XUgaP)%Ml?CkAKT&QxxHT$^{L+!5U} zb~MgC`ooX<+(w+WE?lN@UGLqnc-6V}9fWm#bjTP^byvbLLSK-Qk*f&())Nm#9O<1Z zTss7VxJk^!hJS{lF-ojN%M!KN?3KjnueGmVuQxWYyDhpCo$Kvv?7fflE{kq`-*@a! z0O4+P57tfJ6edR`4_OBZtW2B^j%VRW=SaRH zOGF;C+mtWHpuUxUX=D5yp|6Z~;%n<3VUN^TUD4#xQAFD8_l`l{f5$?U!z25E;k@XZ z6hA2FfvuTmDdnDv%%sQ+H1ygRv#WmNUFV^BTI&U=(__`+ zZ1~fmuv!L_N{hiOo*<=z@5NHyVB%K>gJX5G$Qu2&^n$eBfyBPum~S$6aua=(pdh=y zJ6H>G-Byl@ej251rVX>_%AQ+lM7hcWbHD#cDK-DK#giITUP_Jy9a})y!;Q4${=>+N zxUjgY_(gG%>^i5MeVWV4)A7VCw!FX6*YB@4h(4hP5~H$ZsW)aD+5M>vmK-d+)^4L; z)46XBT_&P3+I$IJ^)}i!rPrjBlG~pc?%Il;4sH%7{2zVy9vTW)3a@8Q1tDLn9l<(< zYIAIJ5C5_wbp3`Kok(g+RR8U-MW*3$FZn=3>wl)7(a~%hJ{gZB6E0IIQ$>%U*XY}_ zalNyTq8_RFy(_+<)@DClH9;-2$?I z{Jr(?qMgoU^M<3S$L{g?YdWL-m-Ul2{s-i3`DNYpwl5E3Ak`1h?F$GwJG%Fw7nJQE z`?z&4+S7X&gBc^>I^i$tuXELR4IEdFDGqBTX=M<=|0us{IrG$aKPK|>FZbSlH2TQ? z=AU(eyEyx#^j`ZhpSMU+)zoq2H9Ld9>3w0_v)buydLg%A|Iz*KaAJHiNa?FA7$>0W z=k~mIOa45X`5yG{hpRt9#076qox8jYXkUQ_@FM{R#6A3Qsyc6wVDmbQk%=#}tDp6_ zhy?(1J@T$Pha3>qFdQ!}vAmFg`S1MHkU3ddqH?6aY!pz~v5_`BU@u-?^wS}PtiZSG z+Pk{!ef>YoJtX_>z^C}ceHT^W&^D0#l-6B)#=l@31lf!EqP)=z+I#2x>PGNc{Xi(6 z3D?m^TNC-*btIW;0L|p&05qR8EC31&9RTr3fqnh}V0Zwif6)MdG#LJW(Mn)c|Iq;l z0KzN*kpI!q`t1KXVn5p_`aeBHd?*0s^9ud5h2(($m-c-Q#DCG3pE7{3vM3Pv*()16 znVQ-;TiClq#!@kSGTLr#{**xr`G(8S)zl)=N+ z;U7ByJ`bKx($>_)kl4f4#?G0?gP-JI8a$u$KWs)4;(w{QSo4!;$SD$w+B=yNvoo+U zFp&tr6B85jIhmO8D2Yk@2mX1*Ph#QX;=sem=$;Lgfm?_|!%%+1Zs$i%|P!b1P4 zLGSEo=VItVZ|6+}y6sgtO^t*xn@i@<;1 zalU_f`agvKJ@uK%d3+F7~?e7gA;A-F0s(kF#{Wtv0eJOObUpw;2mlllR`CEk%Y@0$>5mJu-kG2fCqqS-k|Gw`%Wxi8 z!ifYk?hbJ5<5)W6T|IQ>nb`h12?=8p6a`0-W>Om-uP8(;Bqc)i?ROoAT-Hmee%Jij zS$Y&}8*AHa*E*d2#;Kz2N9oDQiJg8ZS)xj=&<}8kU*PXx^J&t?G?;%ByA^Z5&)`W_ zsF(oMieUGEvpMO6Pd=dSFT@vkL?L*U0Db^(!%P7@6is*Ky! z+ZM7O4rr@Md5knlR%aVrfX@MJtpO9V$FS5QPc7OfnHCT5h>(h}eVPogztP-ORSYnH zdnnOZoP3_>VyrKg8n@diTNU?VC+*i)r+t6kevQH0ykthlVHbXlqq!04v|{E z!{P=zl19=PJme@%GpYvYx}bYw#@ZenSnaT-aisp9Q|oRsD=FZB*q~1*Z*a>pS(u2s zeNHA17U3|ME7yIXyy)Dj1h~R3mOkcTV>SRrebfSu%{O!|k71w;PX(2T=f$3A#bz*# zKy?q!=@cJBz#Ssr`bT%3*hyX)gCj*iR|Hr`)h{QAZ-)a5>h$?{2>aGhG$l*_%;FNJ z+l{-NwYU+7eZIUhz5rx;Y zSsgG~VG4QW`!#)l6e=E$-j;{e`r2C(XP!UDCAZ^zdf_8AK$f7vI0ODT4-R|dj6<*I z-wZhbVhn@}0~#C-qvLSsfRhg7JUO$ql^DBaHKvSc3xDR9oA7XILTXv6bG=HdVSd4a z4{`X9S@IU6Z)u*PCLGsQY0c0%D(8U*WesWA6=mHb3Hj1>-Ra6|`o6C8U_@z}g2lq_ z6ktQRG-Mn<*{WEb`Z;}Y@ZJ#NBA1ne+K9+t3jz$dFYvt_&X0Z#Z!DV6Ct5vu!yJoMLB!VJOxZicEZ^W>MI zu8F|ub%BZxd#yzxZ1Y3lVRr!|(BhgIJ)=4XauC#`!H=-Vur90iCHA2) zn6?{454C=%jqA*-T*OiNyYIywXtZ$?ul4%%;9f^EeI67HH>$CeQfQ@Aw%|N&!P(2= zuWoA>O3;3)A($B_JIWV|6-B~>Np$laPM%xzuQK47At4SXg~qPb!Z8`0->(YLHdrtV zGhGUA(c334ky=C_|7eg)b|63*{-j`FrhxtZbGczz(;4po2#$9zH?KYx2#czk`P?l!OcvD@Fv2Zr@N5+ z^3v(CTtg-*AvH4)k`yA&{M@|1sSmc#Uit#F9VVR>w?*Hr#9&R~1U*60jhzGX&oK|( zvb^T~O|A)5=-7&$t~i)Iq9xp^?MJ7cBY60mobkCYn0zbe1y3apgj!~K5sm}423qvQ zfxca|+iwc7OuJ6{>kgEwYF?-6kYePn(t+^RyyV{(kV1PJt&e2eHPItBVwY}V$e$+c zQ;ZKb@CKq)dATfDCK$xkIhFBIX=A~Je~n>Sv@D6Rnz0kB_`n41R4ps`^rm=6qiUez zn(<9{T5X(nsi1%re8bE=*f(C2nfe7?&Qw8B|1H?_?3EK&S#y;f$(pRe4ou6H`C%JV z*)Zor%WU4`8h_Xv$>=*+zL5I3eIZnKYt~$AjvkE=TS}2-(l7|2YqV3s?>n2o~}p zWUiZw(ydB0p^JRtC<+KZyauy({8Ul>u8iZR1};DoOI2rD%dPw6&g2eWTGFa`8G%U3 zk3ms{Q2Y~ePM0a7wm6lX5-jzKubVWfp-=S}25?00ns7v3MUaECYgw95TdS7aS0&&! zD0%gIBhyos1Cv)Rj6j=}O@~na?j=t)El2dG{F>i!Z3&S{N)!~wb-;QvgcTg?6_}rI zyncAaGnjC)d>Y`q=$Po?IZ>oLlxxc1C!Qdq8IIEPatt?ITnOVpk<7vK zlO@em)xp7MqD_+2fhQ&bedgS^{1}M7L1~8_L-aL6Nw_mH3v<<^Vy?EVQdM?bh`;Si zlR6NCx-cbX@r)%xL+|5$>ek()raSavgY=?pRff{`(FIBE@JIRvukG`DyJfrplNmyH zj~Ug&TrjR6*)U|Jy0JfGE`2EEPJjE+zcv*sC%|{F-bq0%wU7-%vyI{To0p2|KPD7x zbfK6}Y^0>0ASx>-d{k20T|eW*oZz(V+wLyGNAjwIdo%CX-Pl!Jy)%gJ%K7h zoOkGcMM90yJE&q0MwKSMm0F@(RG@?pX$7kZNCkQOf33P0M*k`Z#drzZbbEeL8kNY6 zTPj%yKon;aUV^#;rBiMf*)?kF&-^vr!30`EMh-j@2!%o3;Zil zcjNLSHU)4VxS3E&dMSvAyU&+Np3xS+F4SHOZgW0QC!vUh;d{>!KKaf~V~9y;Ht@@A zLsR!}CV7BGy)!J+F3?WTWFRzfU664*cp`2J1e2rdww@IZkCAWcF=5a=7SP^7PMBS9 z>y?VlUR`xhpQF_#~OeLLZVn{$|6x$CwGcs}>XUawH2gu2k_Saj;DbVP zV1WPx+gfSizzPksmR|)~1r}$Idp0KJ}ZtJ`*8$*Yy%yTTaiKg#v3lDan5W zV7xxuy4(A;`?ywIGRkcX4%A#_$ss~ap6lC1qB^KY_iZQFw;^(HeUIhd0K9JXe$Aax ztJ;dLCn#m9>_Nt8;sb{$y(+qM>d`rh_d+%}T{9GR#T&1;=o>os3s(47Pmb*Ho(CGn zCV7anmo11!w^}ImH1^5qWTM!m*+nS|KCC)VK3Opb33J(k08YG>3ofT>wqO_^<H>4HIa^WGx^uzo*!Nw;Lx4bG*k#gbU-Op zr?&|9ibO~hd#f#QDW0XneQwoC1g=QVa+$kB=Y|%#7|Cd)y@TOO za1qPOdruNw+&k$<_uUr&%DyQKKZZY-nGT5jsNGonZZ!K#b{70feNk#}EuGxyaT(UC zh}8M|f-1u4#nu2~^_=T~&$uo-@t`Za|Mn1>36gNu1bbknb&O?rf>`@d+TdDT$#=n( zj-JoSn+OHH&dxjdWfvnYS&&q$!bu+0cFhfKwLirKyHPfK3wZC7n&&w!yvZ~_hOL-}ApNwt-x$q2XCEgf!dTy#`&5&e72>J& zDqGNx=;W0MfAU;@WLK+f)8#u==UIJb zn$}`w3r%t5lU0>m*J8+>W(v`9I!*)5UX57PzTZrMH`_tt`d;aUcRXG|VxEUwu1EPT zzzXLdbd=>rH!MM4kz)hL3l*fl&<@Iuj4ZzNT(|I42V|1F?%wFd9e8*3bwY4yM;@=w z30M6okpRGnHjJqi0q@@X3_@BDX@|-Crp{H{YhGQW*cTnf^L< zvzd-+u&G!y=<{k86mit#27J*j?$;<;VA3WrUla1z-}e}=+reMqSChboMy{?CBJe%F znDP1O4+&<0D%`C?4wgGIajmSU3zJj>-nBdc=MBx#mJ|OEur}@x}Vg zUX`^7UkgmY6OMYnyAAXrti=wok8{c;ObP49tweMxoN-Sg0>=570&ICnFl=KF{NI5_ zlkfONoXR9-;lwwyPXn_>#>}IQ@`+n^*wW*aoukNUFT6Q8#PQx!#C&C4=ojNj2QXcO z^3@8=_hzsI-(U&S4tjWcAp#u_rOwF(%^L_<35UG%?{2Q-!!a6P1J8q6E$i4eUN*&O z--vjlzRH+$xJ{*6{nDKE9<_nXzT8yu1~piCWEceeK?do^Z z4ns9Dy@CB%2AgezXt36q_5SigP@Z^l14pD|y-5awo&{y$M zO%F2U`ls%c8>N=RNnE3^(43{B%WSL0OeCg_X0x<4q-2buuGt0HA)AhDl_6N|bl}^) zaUxi$nYhAQ@vtezEVE}uA>IFOWt@y3`hLihvoLX^A*loX`;Q89GWbf&N_P35GJ#{| z+nZCHc;z{LykM-*_{eu1N zGF*2I;Uzq!GcYyR^4bq2vm0xro02Y>y+;JwjnWo=&;vuuW@Qp~b)E2Am;%siHH@o$ zz@5d;s58DIn(V%4PUoI&w`i8Ys4a8dzMu+otr&CYWpyq%lD7~90}m9h_VRhSHu zCrRr)$1XjFz&+EpB%ubU(ygGhj#@lB^0dghd|s#qIDDPK+Ofzv{hMeAE7l^B6}6&T zCs;nI&NRQ`k8KDji#JzpzMK~;l%yiTY`PkEJ;z7ML^rtN z8JI>WSFce#%l0=Ow7rN)pa6M$;e zyShLCQP3`h%$s`lHf%0G9DQbVmn`;^2eBGN=4Jhh6>@BmcJv`8PWx$E*mulAVA>3H zBXj1G-yhEiwv9Ikj#K}ix@3!t1w$gPUieMei_e>Y#%FuN+xZYB{ZsdD1^0 z_h~GJew76i)H$z!W(Z!n00oedZ+9|z-Meb{IHBcvcSTS@!;9>XCz2Q7?0K;x-}P4n zyZNKSWNG)v3PdY58?7|ZTX>(|J7JdWUkKi`86`!|E(LRfZ?4&I5YF?vBVXqu?jm_`@u+@)8FYg>%Nk@F#vYhnR(R9vrihvkAVxv7i0IgRO1^v)!|EFZcA`Pu4y#c()7lmJSN_ zepg3l^wsv^bphCMYz?t7nqg-u7rr}lV!Q_3$XRBr>%YlP&OkPjyVy*ya?wpVG&0XL z%w+)!sWvXSPOZy)l>E=TGVW&8(7gqeO0k^*DdFrj7x(ZJeOlz

j+iy_{DBY&A(9 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 mr$7L9%Sj#z3>0WS1^y2s)Cv)Tyi|z*0000 Date: Fri, 12 Mar 2021 16:59:23 -0500 Subject: [PATCH 2/9] initial draft of identity section --- _data/sidebar.yml | 38 +++++ assets/images/sharedid.png | Bin 0 -> 27349 bytes assets/images/user-identity.png | Bin 34311 -> 30162 bytes dev-docs/modules/idLibrary.md | 2 +- dev-docs/modules/userId.md | 4 +- identity/prebid-identity.md | 51 ++++++- identity/sharedIdPubCommon.md | 135 ++++++++++++++++++ .../openrtb2/pbs-endpoint-auction.md | 21 +++ prebid-server/features/pbs-feature-idx.md | 1 + 9 files changed, 244 insertions(+), 8 deletions(-) create mode 100644 assets/images/sharedid.png create mode 100644 identity/sharedIdPubCommon.md diff --git a/_data/sidebar.yml b/_data/sidebar.yml index 8219b1f587..65ca98ad1d 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -2046,3 +2046,41 @@ isSectionHeader: 0 sectionTitle: subgroup: 0 + +#-------------- Prebid Identity --------------| + +- sbSecId: 9 + title: + link: + isHeader: 0 + isSectionHeader: 1 + sectionTitle: Prebid Identity + sectionId: prebid-identity + subgroup: 1000 + sbCollapseId: prebid-identity + +- sbSecId: 9 + title: invis + link: + isHeader: 1 + headerId: invis + isSectionHeader: 0 + sectionTitle: + subgroup: 0 + +- sbSecId: 9 + title: Identity Overview + link: /identity/prebid-identity.html + isHeader: 0 + isSectionHeader: 0 + sectionTitle: + subgroup: 0 + +- sbSecId: 9 + title: SharedID and PubCommon ID + link: /identity/sharedIdPubCommon.html + isHeader: 0 + isSectionHeader: 0 + sectionTitle: + subgroup: 0 + diff --git a/assets/images/sharedid.png b/assets/images/sharedid.png new file mode 100644 index 0000000000000000000000000000000000000000..ce7128688bc41e15ba973f7b2f554b40600c333a GIT binary patch literal 27349 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 N002ovPDHLkV1km!fl~kg diff --git a/dev-docs/modules/idLibrary.md b/dev-docs/modules/idLibrary.md index f85d8152fe..306b877158 100644 --- a/dev-docs/modules/idLibrary.md +++ b/dev-docs/modules/idLibrary.md @@ -15,7 +15,7 @@ Maintainer: eng-dmp@magnite.com # ID Import Library {:.no_toc} -The ID Import Library module gathers and generates a map of identities present on the page. The primary usecase for this adapter is for Publishers who have included multiple UserId subadapters in their prebid.js implementation, and want to store the resulting user ids serverside for modeling or graphing purposes. The ID Library module, anchors the response of `refreshUserIds()` to a presistant identifier (md5 encrypted) and returns an map of uids. This map of uids comes in the form of a POST message in JSON format and must be output to a publisher configured endpoint. +The ID Import Library module gathers and generates a map of identities present on the page. The primary usecase for this adapter is for Publishers who have included multiple UserId subadapters in their prebid.js implementation, and want to store the resulting user ids serverside for modeling or graphing purposes. The ID Library module, anchors the response of `refreshUserIds()` to a persistant identifier (md5 encrypted) and returns an map of uids. This map of uids comes in the form of a POST message in JSON format and must be output to a publisher configured endpoint. The module attempts to extract a persistant identifier in the following ways: diff --git a/dev-docs/modules/userId.md b/dev-docs/modules/userId.md index 6424b4b198..d6763f797e 100644 --- a/dev-docs/modules/userId.md +++ b/dev-docs/modules/userId.md @@ -79,8 +79,6 @@ of sub-objects. The table below has the options that are common across ID system | value | Optional | Object | Used only if the page has a separate mechanism for storing a User ID. The value is an object containing the values to be sent to the adapters. | `{"tdid": "1111", "pubcid": {2222}, "IDP": "IDP-2233", "id5id": {"uid": "ID5-12345"}}` | -## User ID Sub-Modules - ## Permissions Publishers can control which user ids are shared with the bid adapters they choose to work with by using the bidders array. The bidders array is part of the User id module config, publisher may choose to send an id to some bidders but not all, the default behavior is that each user id go to all bid adapters the publisher is working with. @@ -135,6 +133,8 @@ The Rubicon bid adapter would then receive } ``` +## User ID Sub-Modules + ### BritePool The [BritePool]((https://britepool.com)) ID is a persistent identifier that enables identity resolution for people-based marketing in the cookieless world. Every BritePool ID is associated with a real identity. As a result, publishers, SSPs and DSPs that integrate with BritePool, or automated diff --git a/identity/prebid-identity.md b/identity/prebid-identity.md index 7084fc1f5e..7557d484a4 100644 --- a/identity/prebid-identity.md +++ b/identity/prebid-identity.md @@ -2,18 +2,59 @@ layout: page_v2 title: Prebid User Identity description: What is Prebid User Identity -sidebarType: 2 +sidebarType: 9 --- # Prebid User Identity Overview -Prebid's aim is to protect user privacy while still allowing publishers to make revenue, +`DRAFT` + +Prebid's aim is to enable the protection of user privacy while still supporting publisher's ability to make revenue, keeping the Open Web healthy. -To do this, we offer a number of identity-related products compliant with privacy regulations such as GDPR, CCPA, and COPPA: +To do this, Prebid offers a number of identity-related products that encourage awareness of privacy regulations such as GDPR, CCPA, and COPPA. The most important projects are: -- Prebid.js User Identity Module - supporting more than 20 different flavors of global IDs with different features, publishers can work with. -- SharedId and PubCommon ID - Prebid's native ID offerings are simple, free, robust, and privacy-minded. +- [Prebid.js User Identity Module](/dev-docs/modules/userId.html) - supporting more than 20 different flavors of global IDs with different features, publishers can work with. +- [SharedId and PubCommon ID](/identity/sharedIdPubCommon.html) - Prebid's native hosted ID offerings are simple, free, robust, and privacy-minded. - Coming soon: UID2 +## Prebid.js and Identity + +Publishers have several ways to include user identity as part of +the header bidding auction: + +1. Install one or more [User ID modules](/dev-docs/modules/userId.html) - these modules obtain +the user's ID from the service and make it available to participating bidders. Publishers +can place [permissons](/dev-docs/modules/userId.html#permissions) on which bidders receive which IDs. +2. Install the [ID Import Module](/dev-docs/modules/idLibrary.html) - this can be +used to generates a map of identities present on the page. +3. Pass registered [User First Party Data](/features/firstPartyData.html) to bidders such as interests to bidders for more relevant advertising. +4. [User Syncing](dev-docs/publisher-api-reference.html#setConfig-Configure-User-Syncing) allows bid adapters to establish IDs. Publishers have control over which bidders may sync, which syncing mechanisms are allowed, and when the syncing occurs. Syncing is subject to privacy controls such as GDPR, CCPA, and COPPA. + +## Prebid Server and Identity + +Prebid Server has a user-sync functionality allowing server-side bidders to establish +IDs given appropriate permission from the user for setting cookies. + +Prebid Server can receive extended ID arrays from Prebid.js and provide them to +participating server-side bid adapters. It also supports permissioning to determine +which eids can be sent to which bidders. + +User IDs are not sent to bid adapters in privacy scenarios such as COPPA and +GDPR requests lacking appropriate consent. For more details see the [Prebid Server Privacy](/prebid-server/features/pbs-privacy.html) page. + +## Prebid SDK and Identity + +In application environments, performance based advertisers rely on a device’s IDFA to target, +frequency cap and determine attribution, very similar to how cookies are used in desktop +environments, however IDFAs are persistent to the device. Prebid SDK will read the IDFA from +the device when available. Additionally, Prebid SDK supports third party identity IDs. + +Prebid Server will strip the IDFA and / or third party identity IDs when enforcing government regulation (GDPR, CCPA, etc.). + +## AMP, Prebid, and Identity + +Prebid Server supports a user [cookie-sync](/prebid-server/developers/pbs-cookie-sync.html) functionality, including integration with +a consent management platform. This allows server-side bidders to establish IDs given +the appropriate cookie-setting permissions from the user. diff --git a/identity/sharedIdPubCommon.md b/identity/sharedIdPubCommon.md new file mode 100644 index 0000000000..48893ce7c1 --- /dev/null +++ b/identity/sharedIdPubCommon.md @@ -0,0 +1,135 @@ +--- +layout: page_v2 +title: SharedID and PubCommon ID +description: What are SharedID and PubCommon ID +sidebarType: 9 +--- + +# Prebid SharedID and PubCommon ID +{: .no_toc} + +`DRAFT` + +* TOC +{:toc} + +## What are they? + +SharedId & PubCommon are ID systems that are part of the [Prebid UserId Module framework](/dev-docs/modules/userId.html). + +Both systems are owned by Prebid.org, and maintained by a community of developers led by Magnite and Conversant. Prebid.org's [privacy policy](TBD) applies to these systems. + +## How do they work? + +The SharedID and PubCommon ID systems set a user id cookie in the publisher’s domain. +Since the cookie is set in the publisher's first party domain it is safe from browser restrictions on 3rd party cookies. There are a few differences between the two systems: + +### SharedID + +In addition to setting a first party cookie, SharedID also sets a 3rd party cookie. +SharedId keeps these two cookies in sync wherever possible, giving SSPs and DSPs a way to track +consenting users across domains using a 1st party cookie. This mechanism will only work as long as +3rd party cookies can be set. Which means only in the Chrome browser for now, and only until +Chrome starts restricting 3rd party cookies, which we expect to be sometime in the spring of 2022. + +Today, SharedId supports a universal opt-out signal, however that opt-out signal is premised on 3rd party cookies. More on this topic below. + +SharedID is transmitted through the header-bidding ecosystem on user.ext.eids like this: +``` +user: { + ext: { + eids: { + "source":"sharedid.org", + "uids":[ + { + "id":"01EAJWWNEPN3CYMM5N8M5VXY22", + "atype":1, + "ext":{ + "third":"01EAJWWNEPN3CYMM5N8M5VXY22" + } + } + ] + } + } +} +``` + +### PubCommon ID + +PubCommon started out supporting just first-party cookies, but now also supports setting a 3rd party cookie and keeping them in sync in the same way as +SharedId. However, this syncing functionality is **off** by default. It can be turned on as desired. + +PubCommon does not support a universal opt-out, but does support a first-party opt-out, by setting the _pbjs_id_optout to any value. + +PubCommon is transmitted through the header-bidding ecosystem on user.ext.eids like this: +``` +user: { + ext: { + eids: { + "source":"pubcid.org", + "uids":[ + { + "id":"01EAJWWNEPN3CYMM5N8M5VXY22", + "atype":1 + } + ] + } + } +} +``` +Note that PubCommon does not carry the `third` party cookie value. + +### Detailed Walkthrough + +This diagram summarizes the workflow for SharedID and PubCommon: + +![SharedID](/assets/images/sharedid.png){: .pb-lg-img :} + +1. The page loads the Prebid.js package which includes the SharedId and/or PubCommon modules +2. The page enables one or more user ID modules with pbjs.setConfig({usersync}) per the module documentation. The publisher can control which bidders are allowed to receive each type of ID. +3. If permitted, the SharedID and/or PubCommon module retrieves and/or sets the designated first party cookie for this user. +4. If permitted, the SharedID module connects to sharedid.org to see if the user has a 3rd party identification. +5. When a header bidding auction is run, the ID modules are invoked to add their IDs into the bid requests. +6. Bid adapters send the additional IDs to the bidding endpoints, along with other privacy information such as GDPR consent, US Privacy consent, and the Global Privacy Control header. +7. The SharedID and PubCommon IDs are used by the bidder for ad targeting, frequency capping, and/or sequential ads. +8. Bids are sent to the publisher's ad server, where the best ad is chosen for rendering. + +### Privacy Discussion + +The only privacy scenario where the Prebid User ID module will suppress ID activity is that +cookies cannot be read or set when the [GDPR Enforcement Module](/dev-docs/modules/gdprEnforcement.html) is in place without consent for Purpose 1. + +For all other privacy-sensitive scenarios, it is encumbent upon ID providers and bid adapters +to be aware of and enforce relevant regulations such as COPPA, CCPA, and Global Privacy Control. + +## Why maintain two modules that are functionally equivalent? + +When Prebid.org assumed ownership of PubCommon, it already had hundreds of publishers using it. +Instead of merging the two ID systems, which would have required wrapper updates by publishers, +we decided to add the functionality of Sharedid into PubCommon, and giving publishers the choice +of whether to enable it or not. + +In the future as 3rd party cookies become more restricted, we anticipate that the two modules will merge. + +## Opt-Out + +Prebid recommends that publishers provide their users with information about how IDs are utilized, which includes targeting, frequency capping, and special ad features like sequential ads. + +If the publisher's legal staff has determined that a user opt-out is necessary, beyond existing +mechanisms like GDPR and CCPA, first party cookies require that opt-out flow owned +by the publisher. + +3rd party SharedID cookies support an opt-out page hosted at [sharedid.org](https://id.sharedid.org). +Clicking “Opt Out” will flag the user's 3rd party SharedId cookie as unusable. The next time the SharedId code runs on each Publisher's page, +the module will recognize that the browser/user has opted out and will flag that publisher's first party cookie as equally unusable. + +Publishers that decide to build a first-party opt-out workflow might follow a process like this: +- User is presented with an option to turn off ad targeting +- If the user opts out, the page can do one of two things: + - either set a _pbjs_id_optout first party cookie + - or just avoid calling pbjs.setConfig to initialize the user ID modules + +## Related Topics + +- [Prebid Identity Overview](/identity/prebid-identity.html) +- [Prebid.js User ID modules](/dev-docs/modules/userId.html) diff --git a/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.md b/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.md index 2970c7e481..ccc14028f3 100644 --- a/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.md +++ b/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.md @@ -893,6 +893,27 @@ In order to pull AMP parameters out into targeting, Prebid Server places AMP que } ``` +#### EID Permissions (PBS-Go only) + +This feature allows publishers to specify ext.prebid.eidpermissions, defining which extended ID +in user.ext.eids is allowed to be passed to which bid adapter. For example: + +``` +{ + ext: { + prebid: { + data: { + eidpermissions: [ // prebid server will use this to filter user.ext.eids + {"source": "sharedid.org", "bidders": ["*"]}, // * is the default + {"source": "neustar.biz", "bidders": ["bidderB"]}, + {"source": "id5-sync.com", "bidders": ["bidderA","bidderC"]} + ] + } + } + } +} +``` + ### OpenRTB Ambiguities This section describes the ways in which Prebid Server **implements** OpenRTB spec ambiguous parts. diff --git a/prebid-server/features/pbs-feature-idx.md b/prebid-server/features/pbs-feature-idx.md index 37e4f71c87..c70782521f 100644 --- a/prebid-server/features/pbs-feature-idx.md +++ b/prebid-server/features/pbs-feature-idx.md @@ -55,6 +55,7 @@ title: Prebid Server | Features | Aliases | [GVL ID support](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#bidder-alias-gvl-ids-pbs-java-only) | Define the IAB GVL ID for an aliased biddercode. | | | | [User ID Sync](/prebid-server/developers/pbs-cookie-sync.html) | Core | Implements the /cookie_sync and /setuid endpoints. | | | | User ID Sync | Cooperative sync | Does a pixel sync with more than just the bidders on the page. | | | +| User ID Permissions | Extended ID Permissions | Allows publishers to determine which bidders are allowed to receive which extended ID. | | | | [Events](https://docs.google.com/document/d/1ry0X4C2EV-R0pMrm1IQk9BstxaT395UCl3KKqTGa5c8/edit#heading=h.7w5yevygp2gz) | Events | Ability to process the /event endpoint, place /event URLs in the OpenRTB response, and place /event URLs in VAST XML. | | | | Events | Events vasttrack endpoint | Ability to process the /vasttrack endpoint initated by Prebid.js, placing /event URLs in VAST XML. | | | | Events | Events BidID Generation | Some bidders don't generate unique enough BidIDs to join with auction events. This feature allows the host company to inject a PBS-generated BidID alongside the bidder-generated ID. | | | From 81582a442e30f4b707a39ea0f02b482f7daa49c4 Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 25 Mar 2021 09:21:02 -0400 Subject: [PATCH 3/9] removing draft notice --- identity/prebid-identity.md | 2 -- identity/sharedIdPubCommon.md | 2 -- 2 files changed, 4 deletions(-) diff --git a/identity/prebid-identity.md b/identity/prebid-identity.md index 7557d484a4..508212699c 100644 --- a/identity/prebid-identity.md +++ b/identity/prebid-identity.md @@ -7,8 +7,6 @@ sidebarType: 9 # Prebid User Identity Overview -`DRAFT` - Prebid's aim is to enable the protection of user privacy while still supporting publisher's ability to make revenue, keeping the Open Web healthy. diff --git a/identity/sharedIdPubCommon.md b/identity/sharedIdPubCommon.md index 48893ce7c1..1d5ce7c3bb 100644 --- a/identity/sharedIdPubCommon.md +++ b/identity/sharedIdPubCommon.md @@ -8,8 +8,6 @@ sidebarType: 9 # Prebid SharedID and PubCommon ID {: .no_toc} -`DRAFT` - * TOC {:toc} From 8ee28afd38a4b6e83fa4e541ac9f7b039d4e7a82 Mon Sep 17 00:00:00 2001 From: bretg Date: Mon, 21 Jun 2021 15:39:18 -0400 Subject: [PATCH 4/9] PBJS 5.0 changes --- _layouts/home.html | 2 +- assets/images/sharedid5.png | Bin 0 -> 24563 bytes identity/prebid-identity.md | 23 +++--- identity/sharedId.md | 141 ++++++++++++++++++++++++++++++++++++ 4 files changed, 156 insertions(+), 10 deletions(-) create mode 100644 assets/images/sharedid5.png create mode 100644 identity/sharedId.md diff --git a/_layouts/home.html b/_layouts/home.html index f114bd7b47..fb2efa9eb6 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -46,7 +46,7 @@

Prebid Documentation

diff --git a/assets/images/sharedid5.png b/assets/images/sharedid5.png new file mode 100644 index 0000000000000000000000000000000000000000..ee38138acbaa1d8c29f28f6d6e6c2e41d7ddc26b GIT binary patch literal 24563 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 Date: Mon, 21 Jun 2021 15:43:29 -0400 Subject: [PATCH 5/9] removing mention of pubcommon from nav --- _data/sidebar.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_data/sidebar.yml b/_data/sidebar.yml index 65ca98ad1d..e4b553c9a8 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -2077,8 +2077,8 @@ subgroup: 0 - sbSecId: 9 - title: SharedID and PubCommon ID - link: /identity/sharedIdPubCommon.html + title: SharedID + link: /identity/sharedId.html isHeader: 0 isSectionHeader: 0 sectionTitle: From 2f0df768d4b203551f5286a2667f346f778a4a0b Mon Sep 17 00:00:00 2001 From: bretg Date: Mon, 21 Jun 2021 15:44:15 -0400 Subject: [PATCH 6/9] removing old sharedid diagram --- assets/images/sharedid.png | Bin 27349 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assets/images/sharedid.png diff --git a/assets/images/sharedid.png b/assets/images/sharedid.png deleted file mode 100644 index ce7128688bc41e15ba973f7b2f554b40600c333a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27349 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 Date: Wed, 23 Jun 2021 21:06:08 -0700 Subject: [PATCH 7/9] grammatical updates --- identity/prebid-identity.md | 28 ++++++++++++------------ identity/sharedId.md | 28 ++++++++++++------------ identity/sharedIdPubCommon.md | 40 +++++++++++++++++------------------ 3 files changed, 48 insertions(+), 48 deletions(-) diff --git a/identity/prebid-identity.md b/identity/prebid-identity.md index 85f914a3a0..6cf5a1f0eb 100644 --- a/identity/prebid-identity.md +++ b/identity/prebid-identity.md @@ -12,43 +12,43 @@ keeping the Open Web healthy. To do this, Prebid offers a number of identity-related products that encourage awareness of privacy regulations such as GDPR, CCPA, and COPPA. The most important projects are: -- [Prebid.js User Identity Module](/dev-docs/modules/userId.html) - supporting more than 20 different flavors of global IDs with different features, publishers can work with. -- [SharedID](/identity/sharedId.html) - Prebid's native hosted ID offering is simple, free, robust, and privacy-minded. -- **Coming soon:** [UID2](https://prebid.org/blog/prebid-org-to-serve-as-operator-of-unified-id-2-0/) +- [Prebid.js User Identity Module](/dev-docs/modules/userId.html). This module supports more than 20 different flavors of global IDs with different features that publishers can work with. +- [SharedID](/identity/sharedId.html). This native hosted ID offering from Prebid is simple, free, robust, and privacy-minded. +- **Coming soon:** [Unified ID 2.0](https://prebid.org/blog/prebid-org-to-serve-as-operator-of-unified-id-2-0/) ## Prebid.js and Identity Publishers have several ways to include user identity as part of the header bidding auction: -1. Install one or more [User ID modules](/dev-docs/modules/userId.html) - these modules obtain +1. Install one or more [User ID modules](/dev-docs/modules/userId.html). These modules obtain the user's ID from the service and make it available to participating bidders. Publishers -can place [permissons](/dev-docs/modules/userId.html#permissions) on which bidders receive which IDs. -2. Install the [ID Import Module](/dev-docs/modules/idLibrary.html) - this can be +can define [permissions](/dev-docs/modules/userId.html#permissions) to control which bidders receive which IDs. +2. Install the [ID Import Module](/dev-docs/modules/idLibrary.html). This module can be used to generate a map of identities present on the page. -3. Pass [First Party Data](/features/firstPartyData.html) to bidders such as interests to bidders for more relevant advertising. -4. [User Syncing](/dev-docs/publisher-api-reference/setConfig.html#setConfig-Configure-User-Syncing) allows bid adapters to establish IDs. Publishers have control over which bidders may sync, which syncing mechanisms are allowed, and when the syncing occurs. Syncing is subject to privacy controls such as GDPR, CCPA, and COPPA. +3. Pass [First Party Data](/features/firstPartyData.html), such as interests, to bidders for more relevant advertising. +4. Include [User Syncing](/dev-docs/publisher-api-reference/setConfig.html#setConfig-Configure-User-Syncing) to allow bid adapters to establish IDs. Publishers have control over which bidders may sync, which syncing mechanisms are allowed, and when the syncing occurs. Syncing is subject to privacy controls such as GDPR, CCPA, and COPPA. ## Prebid Server and Identity -Prebid Server has user sync functionality allowing server-side bidders to establish +Prebid Server has user sync functionality, allowing server-side bidders to establish IDs given appropriate permission from the user for setting cookies. Prebid Server can receive extended ID arrays (eids) from Prebid.js and provide them to participating server-side bid adapters. It also supports permissioning to determine which eids can be sent to which bidders. -User IDs are not sent to bid adapters in privacy scenarios such as COPPA and -GDPR requests lacking appropriate consent. For more details see the [Prebid Server Privacy](/prebid-server/features/pbs-privacy.html) page. +User IDs are not sent to bid adapters in privacy scenarios such as COPPA and +GDPR requests lacking appropriate consent. For more details see [Prebid Server Privacy](/prebid-server/features/pbs-privacy.html). ## Prebid SDK and Identity In application environments, performance-based advertisers rely on a device’s IDFA to target, -frequency cap and determine attribution, very similar to how cookies are used in desktop -environments, however IDFAs are persistent to the device. Prebid SDK will read the IDFA from +frequency cap, and determine attribution, similar to how cookies are used in desktop +environments. However, IDFAs are persistent to the device. Prebid SDK will read the IDFA from the device when available. Additionally, Prebid SDK supports third party identity IDs. -Prebid Server will strip the IDFA and / or third party identity IDs when enforcing regulations such as GDPR and CCPA. +Prebid Server will strip the IDFA and/or third party identity IDs when enforcing regulations such as GDPR and CCPA. ## AMP, Prebid, and Identity diff --git a/identity/sharedId.md b/identity/sharedId.md index 552877bf36..900f27da75 100644 --- a/identity/sharedId.md +++ b/identity/sharedId.md @@ -1,6 +1,6 @@ --- layout: page_v2 -title: SharedID +title: SharedID description: What is SharedID sidebarType: 9 --- @@ -16,16 +16,16 @@ As of Prebid.js 5.0, PubCommon ID is no longer supported -- it's been merged int ## What is it? -SharedId is a convenient Prebid-owned first party identifier within the [Prebid UserId Module framework](/dev-docs/modules/userId.html). +SharedId is a convenient Prebid-owned first party identifier within the [Prebid UserId Module framework](/dev-docs/modules/userId.html). ## How does it work? The SharedID ID system sets a user id cookie in the publisher’s domain. -Since the cookie is set in the publisher's first party domain it does not fall in scope of browser restrictions on 3rd party cookies. +Since the cookie is set in the publisher's first party domain it does not fall in scope of browser restrictions on third party cookies. ### Prebid.js 5.x -The SharedID module just reads and/or sets a random ID in +The SharedID module reads and/or sets a random ID in the cookie name defined by the publisher when initializing the module: @@ -68,7 +68,7 @@ source value. ### Before Prebid.js 5.0 -In addition to setting a first party cookie, SharedID in PBJS 4.x also sets a 3rd party cookie where possible, syncing the 1st and 3rd party cookies subject to browser capability and user opt-out. +In addition to setting a first party cookie, SharedID in Prebid.js 4.x also sets a third party cookie where possible, syncing the first and third party cookies (subject to browser capability and user opt-out). SharedID in Prebid.js 4.x was transmitted through the header-bidding ecosystem on user.ext.eids with a different 'source': ``` @@ -96,7 +96,7 @@ This diagram summarizes the workflow for SharedID: ![SharedID](/assets/images/sharedid5.png){: .pb-lg-img :} -1. The page loads the Prebid.js package which includes the SharedId module +1. The page loads the Prebid.js package, which includes the SharedId module. 2. The page enables one or more user ID modules with pbjs.setConfig({usersync}) per the module documentation. The publisher can control which bidders are allowed to receive each type of ID. 3. If permitted, the SharedID module retrieves and/or sets the designated first party cookie for this user. 4. When a header bidding auction is run, the ID modules are invoked to add their IDs into the bid requests. @@ -105,15 +105,15 @@ This diagram summarizes the workflow for SharedID: 7. Bids are sent to the publisher's ad server, where the best ad is chosen for rendering. {: .alert.alert-info :} -In Prebid.js 4.x when SharedID performed 3rd-party syncing, there -was an extra step in the diagram between steps 3 and 4 where themodule would connect to a server on sharedid.org. This step was +In Prebid.js 4.x, when SharedID performed third-party syncing there +was an extra step in the diagram between steps 3 and 4 where the module would connect to a server on sharedid.org. This step was removed in Prebid.js 5.0. ### Privacy Discussion -There are several privacy scenarios where a user ID is not created or read: +There are several privacy scenarios in which a user ID is not created or read: -1. The User ID module suppresses all cookie reading and setting activity +1. The User ID module suppresses all cookie reading and setting activity when the [GDPR Enforcement Module](/dev-docs/modules/gdprEnforcement.html) is in place and there's no consent for Purpose 1. 2. The User ID module infrastructure supports a first-party opt-out, by setting the `_pbjs_id_optout` cookie or local storage to any value. No other cookies will be set if this one is set. 3. The SharedID module will suppress the ID when the COPPA flag is set. @@ -123,17 +123,17 @@ to be aware of and enforce relevant regulations such as CCPA and Global Privacy ## Opt-Out -Prebid recommends that publishers provide their users with information about how IDs are utilized, which includes targeting, frequency capping, and special ad features like sequential ads. +Prebid recommends that publishers provide their users with information about how IDs are utilized, including targeting, frequency capping, and special ad features like sequential ads. If the publisher's legal staff has determined that a user opt-out is necessary beyond existing -mechanisms like GDPR and CCPA, the use of first party cookies requires that opt-out flow owned +mechanisms like GDPR and CCPA, the use of first party cookies requires that opt-out flow be owned by the publisher. Publishers that decide to build a first-party opt-out workflow might follow a process like this: - User is presented with an option to turn off ad targeting - If the user opts out, the page can do one of two things: - - either set a _pbjs_id_optout first party cookie - - or just avoid calling pbjs.setConfig to initialize the user ID modules + - set a _pbjs_id_optout first party cookie + - avoid calling pbjs.setConfig to initialize the user ID modules ## Related Topics diff --git a/identity/sharedIdPubCommon.md b/identity/sharedIdPubCommon.md index 1d5ce7c3bb..ecb424f783 100644 --- a/identity/sharedIdPubCommon.md +++ b/identity/sharedIdPubCommon.md @@ -13,24 +13,24 @@ sidebarType: 9 ## What are they? -SharedId & PubCommon are ID systems that are part of the [Prebid UserId Module framework](/dev-docs/modules/userId.html). +SharedId and PubCommon are ID systems that are part of the [Prebid UserId Module framework](/dev-docs/modules/userId.html). Both systems are owned by Prebid.org, and maintained by a community of developers led by Magnite and Conversant. Prebid.org's [privacy policy](TBD) applies to these systems. ## How do they work? The SharedID and PubCommon ID systems set a user id cookie in the publisher’s domain. -Since the cookie is set in the publisher's first party domain it is safe from browser restrictions on 3rd party cookies. There are a few differences between the two systems: +Since the cookie is set in the publisher's first party domain it is safe from browser restrictions on third party cookies. The follow sections describe the differences between the two systems. ### SharedID -In addition to setting a first party cookie, SharedID also sets a 3rd party cookie. +In addition to setting a first party cookie, SharedID also sets a third party cookie. SharedId keeps these two cookies in sync wherever possible, giving SSPs and DSPs a way to track -consenting users across domains using a 1st party cookie. This mechanism will only work as long as -3rd party cookies can be set. Which means only in the Chrome browser for now, and only until -Chrome starts restricting 3rd party cookies, which we expect to be sometime in the spring of 2022. +consenting users across domains using a first party cookie. This mechanism will only work as long as +third party cookies can be set. For now this applies only to the Chrome browser, and only until +Chrome starts restricting third party cookies, which we expect to be sometime in the spring of 2022. -Today, SharedId supports a universal opt-out signal, however that opt-out signal is premised on 3rd party cookies. More on this topic below. +Today, SharedId supports a universal opt-out signal. However, that opt-out signal is premised on third party cookies. (More on this topic below.) SharedID is transmitted through the header-bidding ecosystem on user.ext.eids like this: ``` @@ -54,7 +54,7 @@ user: { ### PubCommon ID -PubCommon started out supporting just first-party cookies, but now also supports setting a 3rd party cookie and keeping them in sync in the same way as +PubCommon started out supporting just first-party cookies, but now also supports setting a third party cookie and keeping them in sync in the same way as SharedId. However, this syncing functionality is **off** by default. It can be turned on as desired. PubCommon does not support a universal opt-out, but does support a first-party opt-out, by setting the _pbjs_id_optout to any value. @@ -83,10 +83,10 @@ This diagram summarizes the workflow for SharedID and PubCommon: ![SharedID](/assets/images/sharedid.png){: .pb-lg-img :} -1. The page loads the Prebid.js package which includes the SharedId and/or PubCommon modules +1. The page loads the Prebid.js package, which includes the SharedId and/or PubCommon modules. 2. The page enables one or more user ID modules with pbjs.setConfig({usersync}) per the module documentation. The publisher can control which bidders are allowed to receive each type of ID. 3. If permitted, the SharedID and/or PubCommon module retrieves and/or sets the designated first party cookie for this user. -4. If permitted, the SharedID module connects to sharedid.org to see if the user has a 3rd party identification. +4. If permitted, the SharedID module connects to sharedid.org to see if the user has a third party identification. 5. When a header bidding auction is run, the ID modules are invoked to add their IDs into the bid requests. 6. Bid adapters send the additional IDs to the bidding endpoints, along with other privacy information such as GDPR consent, US Privacy consent, and the Global Privacy Control header. 7. The SharedID and PubCommon IDs are used by the bidder for ad targeting, frequency capping, and/or sequential ads. @@ -104,28 +104,28 @@ to be aware of and enforce relevant regulations such as COPPA, CCPA, and Global When Prebid.org assumed ownership of PubCommon, it already had hundreds of publishers using it. Instead of merging the two ID systems, which would have required wrapper updates by publishers, -we decided to add the functionality of Sharedid into PubCommon, and giving publishers the choice -of whether to enable it or not. +we decided to add the functionality of Sharedid into PubCommon, giving publishers the choice +of whether to enable it or not. -In the future as 3rd party cookies become more restricted, we anticipate that the two modules will merge. +In the future as third party cookies become more restricted, we anticipate that the two modules will merge. ## Opt-Out Prebid recommends that publishers provide their users with information about how IDs are utilized, which includes targeting, frequency capping, and special ad features like sequential ads. -If the publisher's legal staff has determined that a user opt-out is necessary, beyond existing -mechanisms like GDPR and CCPA, first party cookies require that opt-out flow owned +If the publisher's legal staff has determined that a user opt-out is necessary beyond existing +mechanisms like GDPR and CCPA, first party cookies require that opt-out flow be owned by the publisher. -3rd party SharedID cookies support an opt-out page hosted at [sharedid.org](https://id.sharedid.org). -Clicking “Opt Out” will flag the user's 3rd party SharedId cookie as unusable. The next time the SharedId code runs on each Publisher's page, +Third party SharedID cookies support an opt-out page hosted at [sharedid.org](https://id.sharedid.org). +Clicking “Opt Out” will flag the user's third party SharedId cookie as unusable. The next time the SharedId code runs on each publisher's page, the module will recognize that the browser/user has opted out and will flag that publisher's first party cookie as equally unusable. Publishers that decide to build a first-party opt-out workflow might follow a process like this: -- User is presented with an option to turn off ad targeting +- User is presented with an option to turn off ad targeting. - If the user opts out, the page can do one of two things: - - either set a _pbjs_id_optout first party cookie - - or just avoid calling pbjs.setConfig to initialize the user ID modules + - set a _pbjs_id_optout first party cookie + - avoid calling pbjs.setConfig to initialize the user ID modules ## Related Topics From 3672de7700b7791cc463f643de4dcd7cd591aa83 Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 24 Jun 2021 16:19:54 -0400 Subject: [PATCH 8/9] review updates --- _data/sidebar.yml | 2 +- identity/prebid-identity.md | 4 +- identity/sharedIdPubCommon.md | 133 ---------------------------------- 3 files changed, 3 insertions(+), 136 deletions(-) delete mode 100644 identity/sharedIdPubCommon.md diff --git a/_data/sidebar.yml b/_data/sidebar.yml index e698d72e53..a5a92549b0 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -2054,7 +2054,7 @@ - sbSecId: 9 title: SharedID - link: /identity/sharedId.html + link: /identity/sharedid.html isHeader: 0 isSectionHeader: 0 sectionTitle: diff --git a/identity/prebid-identity.md b/identity/prebid-identity.md index 6cf5a1f0eb..d83d63b126 100644 --- a/identity/prebid-identity.md +++ b/identity/prebid-identity.md @@ -13,7 +13,7 @@ keeping the Open Web healthy. To do this, Prebid offers a number of identity-related products that encourage awareness of privacy regulations such as GDPR, CCPA, and COPPA. The most important projects are: - [Prebid.js User Identity Module](/dev-docs/modules/userId.html). This module supports more than 20 different flavors of global IDs with different features that publishers can work with. -- [SharedID](/identity/sharedId.html). This native hosted ID offering from Prebid is simple, free, robust, and privacy-minded. +- [SharedID](/identity/sharedid.html). This native hosted ID offering from Prebid is simple, free, robust, and privacy-minded. - **Coming soon:** [Unified ID 2.0](https://prebid.org/blog/prebid-org-to-serve-as-operator-of-unified-id-2-0/) ## Prebid.js and Identity @@ -59,5 +59,5 @@ the appropriate cookie-setting permissions from the user. ## Further Reading - [PBJS User ID module](/dev-docs/modules/userId.html) -- [SharedID](/identity/sharedId.html) +- [SharedID](/identity/sharedid.html) - [Prebid Server Privacy](/prebid-server/features/pbs-privacy.html) diff --git a/identity/sharedIdPubCommon.md b/identity/sharedIdPubCommon.md deleted file mode 100644 index ecb424f783..0000000000 --- a/identity/sharedIdPubCommon.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -layout: page_v2 -title: SharedID and PubCommon ID -description: What are SharedID and PubCommon ID -sidebarType: 9 ---- - -# Prebid SharedID and PubCommon ID -{: .no_toc} - -* TOC -{:toc} - -## What are they? - -SharedId and PubCommon are ID systems that are part of the [Prebid UserId Module framework](/dev-docs/modules/userId.html). - -Both systems are owned by Prebid.org, and maintained by a community of developers led by Magnite and Conversant. Prebid.org's [privacy policy](TBD) applies to these systems. - -## How do they work? - -The SharedID and PubCommon ID systems set a user id cookie in the publisher’s domain. -Since the cookie is set in the publisher's first party domain it is safe from browser restrictions on third party cookies. The follow sections describe the differences between the two systems. - -### SharedID - -In addition to setting a first party cookie, SharedID also sets a third party cookie. -SharedId keeps these two cookies in sync wherever possible, giving SSPs and DSPs a way to track -consenting users across domains using a first party cookie. This mechanism will only work as long as -third party cookies can be set. For now this applies only to the Chrome browser, and only until -Chrome starts restricting third party cookies, which we expect to be sometime in the spring of 2022. - -Today, SharedId supports a universal opt-out signal. However, that opt-out signal is premised on third party cookies. (More on this topic below.) - -SharedID is transmitted through the header-bidding ecosystem on user.ext.eids like this: -``` -user: { - ext: { - eids: { - "source":"sharedid.org", - "uids":[ - { - "id":"01EAJWWNEPN3CYMM5N8M5VXY22", - "atype":1, - "ext":{ - "third":"01EAJWWNEPN3CYMM5N8M5VXY22" - } - } - ] - } - } -} -``` - -### PubCommon ID - -PubCommon started out supporting just first-party cookies, but now also supports setting a third party cookie and keeping them in sync in the same way as -SharedId. However, this syncing functionality is **off** by default. It can be turned on as desired. - -PubCommon does not support a universal opt-out, but does support a first-party opt-out, by setting the _pbjs_id_optout to any value. - -PubCommon is transmitted through the header-bidding ecosystem on user.ext.eids like this: -``` -user: { - ext: { - eids: { - "source":"pubcid.org", - "uids":[ - { - "id":"01EAJWWNEPN3CYMM5N8M5VXY22", - "atype":1 - } - ] - } - } -} -``` -Note that PubCommon does not carry the `third` party cookie value. - -### Detailed Walkthrough - -This diagram summarizes the workflow for SharedID and PubCommon: - -![SharedID](/assets/images/sharedid.png){: .pb-lg-img :} - -1. The page loads the Prebid.js package, which includes the SharedId and/or PubCommon modules. -2. The page enables one or more user ID modules with pbjs.setConfig({usersync}) per the module documentation. The publisher can control which bidders are allowed to receive each type of ID. -3. If permitted, the SharedID and/or PubCommon module retrieves and/or sets the designated first party cookie for this user. -4. If permitted, the SharedID module connects to sharedid.org to see if the user has a third party identification. -5. When a header bidding auction is run, the ID modules are invoked to add their IDs into the bid requests. -6. Bid adapters send the additional IDs to the bidding endpoints, along with other privacy information such as GDPR consent, US Privacy consent, and the Global Privacy Control header. -7. The SharedID and PubCommon IDs are used by the bidder for ad targeting, frequency capping, and/or sequential ads. -8. Bids are sent to the publisher's ad server, where the best ad is chosen for rendering. - -### Privacy Discussion - -The only privacy scenario where the Prebid User ID module will suppress ID activity is that -cookies cannot be read or set when the [GDPR Enforcement Module](/dev-docs/modules/gdprEnforcement.html) is in place without consent for Purpose 1. - -For all other privacy-sensitive scenarios, it is encumbent upon ID providers and bid adapters -to be aware of and enforce relevant regulations such as COPPA, CCPA, and Global Privacy Control. - -## Why maintain two modules that are functionally equivalent? - -When Prebid.org assumed ownership of PubCommon, it already had hundreds of publishers using it. -Instead of merging the two ID systems, which would have required wrapper updates by publishers, -we decided to add the functionality of Sharedid into PubCommon, giving publishers the choice -of whether to enable it or not. - -In the future as third party cookies become more restricted, we anticipate that the two modules will merge. - -## Opt-Out - -Prebid recommends that publishers provide their users with information about how IDs are utilized, which includes targeting, frequency capping, and special ad features like sequential ads. - -If the publisher's legal staff has determined that a user opt-out is necessary beyond existing -mechanisms like GDPR and CCPA, first party cookies require that opt-out flow be owned -by the publisher. - -Third party SharedID cookies support an opt-out page hosted at [sharedid.org](https://id.sharedid.org). -Clicking “Opt Out” will flag the user's third party SharedId cookie as unusable. The next time the SharedId code runs on each publisher's page, -the module will recognize that the browser/user has opted out and will flag that publisher's first party cookie as equally unusable. - -Publishers that decide to build a first-party opt-out workflow might follow a process like this: -- User is presented with an option to turn off ad targeting. -- If the user opts out, the page can do one of two things: - - set a _pbjs_id_optout first party cookie - - avoid calling pbjs.setConfig to initialize the user ID modules - -## Related Topics - -- [Prebid Identity Overview](/identity/prebid-identity.html) -- [Prebid.js User ID modules](/dev-docs/modules/userId.html) From 372c9a6387e21e3063101131b084c11c527a7146 Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 24 Jun 2021 16:22:34 -0400 Subject: [PATCH 9/9] Rename sharedId.md to sharedid.md --- identity/{sharedId.md => sharedid.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename identity/{sharedId.md => sharedid.md} (100%) diff --git a/identity/sharedId.md b/identity/sharedid.md similarity index 100% rename from identity/sharedId.md rename to identity/sharedid.md