Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/guides/integration-javascript-client-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import Link from '@docusaurus/Link';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptExampleClientServerSendUid2ToSdk from '../snippets/_snpt-example-client-server-send-uid2-to-sdk.mdx';
import SnptIos27WebkitNote from '../snippets/_snpt-ios27-webkit-note.mdx';
import SnptUidVerifyInspect from '../snippets/_snpt-uid-verify-inspect.mdx';

# Client-server integration guide for JavaScript
Expand Down Expand Up @@ -43,6 +44,12 @@ For integration scenarios for publishers that do not use the SDK for JavaScript,
If you are using Google Ad Manager and want to use the secure signals feature, first follow the steps in this guide and then follow the additional steps in the [Google Ad Manager Secure Signals integration guide](integration-google-ss.md).
:::

:::note
<SnptIos27WebkitNote />

**Action required**: On affected browsers, generate and refresh UID2 tokens on your server. For details, see [Publisher integration guide, server-side](integration-publisher-server-side.md).
:::
Comment thread
sunnywu marked this conversation as resolved.

## Integrating with single sign-on (SSO)

<SnptIntegratingWithSSO />
Expand Down
7 changes: 7 additions & 0 deletions docs/guides/integration-javascript-client-side.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptIos27WebkitNote from '../snippets/_snpt-ios27-webkit-note.mdx';
import SnptUidVerifyInspect from '../snippets/_snpt-uid-verify-inspect.mdx';

# Client-side integration guide for JavaScript
Expand Down Expand Up @@ -44,6 +45,12 @@ To implement, you'll need to complete the following steps:
3. [Configure the SDK for JavaScript](#configure-the-sdk-for-javascript)
4. [Check that the token was successfully generated](#check-that-the-token-was-successfully-generated)

:::note
<SnptIos27WebkitNote />

**Action required**: This client-side integration is no longer supported in affected browsers (any browser on iOS 27 or later, and Safari on macOS 27 or later). Use a server-side integration to generate and refresh UID2 tokens. For details, see [Publisher integration guide, server-side](integration-publisher-server-side.md).
:::

## SDK for JavaScript version

Support for client-side token generation is available in version 3.4.5 and above of the SDK.
Expand Down
7 changes: 7 additions & 0 deletions docs/guides/integration-options-publisher-web.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ displayed_sidebar: sidebarPublishers
import Link from '@docusaurus/Link';
import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
import SnptUidVerifyInspect from '../snippets/_snpt-uid-verify-inspect.mdx';
import SnptIos27WebkitNote from '../snippets/_snpt-ios27-webkit-note.mdx';
import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';

# Publisher web integration overview
Expand Down Expand Up @@ -45,6 +46,12 @@ To accomplish all steps, you can combine solutions. For example, you could use t

<!-- &#9989; = Supported | &#8212; = Not Supported -->

:::note
<SnptIos27WebkitNote />

**Action required**: On affected browsers, use a server-side integration to generate and refresh UID2 tokens. For details, see [Publisher integration guide, server-side](integration-publisher-server-side.md).
:::
Comment thread
sunnywu marked this conversation as resolved.

## Integrating with single sign-on (SSO)

<SnptIntegratingWithSSO />
Expand Down
8 changes: 8 additions & 0 deletions docs/guides/integration-prebid-client-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,10 @@ There are two ways to refresh a UID2 token, as shown in the following table.

### Client Refresh mode

:::note
Client Refresh mode is not supported in all browsers on iOS 27 or later or in Safari on macOS 27 or later because Prebid.js cannot refresh UID2 tokens in the browser. Use [server-only mode](#server-only-mode) instead.
:::
Comment thread
sunnywu marked this conversation as resolved.

You must provide the Prebid module with the full JSON response body from the applicable endpoint:

- [POST&nbsp;/token/generate](../endpoints/post-token-generate.md) for a new UID2 token.
Expand Down Expand Up @@ -192,6 +196,10 @@ For information on how to determine if you need to provide a new token, see [Det

### Server-only mode

:::note
Use this mode for all browsers on iOS 27 or later and Safari on macOS 27 or later. Generate and refresh UID2 tokens on your server.
:::
Comment thread
sunnywu marked this conversation as resolved.

In server-only mode, only the advertising token is provided to the module. The module cannot refresh the token. You are responsible for implementing a way to refresh the token.

To configure the module to use server-only mode, do **one** of the following:
Expand Down
7 changes: 7 additions & 0 deletions docs/guides/integration-prebid-client-side.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import SnptIntegratingWithSSO from '../snippets/_snpt-integrating-with-sso.mdx';
import SnptPreparingEmailsAndPhoneNumbers from '../snippets/_snpt-preparing-emails-and-phone-numbers.mdx';
import SnptAddPrebidjsToYourSite from '../snippets/_snpt-prebid-add-prebidjs-to-your-site.mdx';
import SnptStoreUID2TokenInBrowser from '../snippets/_snpt-prebid-storing-uid2-token-in-browser.mdx';
import SnptIos27WebkitNote from '../snippets/_snpt-ios27-webkit-note.mdx';
import SnptUidVerifyInspect from '../snippets/_snpt-uid-verify-inspect.mdx';

# Client-side integration guide for Prebid.js
Expand All @@ -20,6 +21,12 @@ This guide is for publishers who have access to <Link href="../ref-info/glossary

To integrate with UID2 using Prebid.js, you'll need to make changes to the HTML and JavaScript on your site. No server-side work is required if you follow this guide.

:::note
<SnptIos27WebkitNote />

**Action required**: This client-side integration is no longer supported in affected browsers. Use either the [Publisher integration guide, server-side](integration-publisher-server-side.md) or the [Client-server integration guide for Prebid.js](integration-prebid-client-server.md) in [server-only mode](integration-prebid-client-server.md#server-only-mode).
:::

## Prebid.js version

This implementation requires Prebid.js version 8.21.0 or later. For version information, see [https://github.com/prebid/Prebid.js/releases](https://github.com/prebid/Prebid.js/releases).
Expand Down
20 changes: 20 additions & 0 deletions docs/ref-info/updates-doc.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,26 @@ Check out the latest updates to our UID2 documentation resources.
Use the Tags toolbar to view a subset of documentation updates.
:::

## Q4 2026

The following documents were released in the fourth quarter of 2026.

<CustomTagsContainer tags="Guides, SDKs, Prebid.js">

### iOS 27 and macOS 27 web integration limitations
Comment thread
sunnywu marked this conversation as resolved.

October 9, 2026

Starting with iOS 27 and macOS 27, WebKit blocks browser requests to `uidapi.com`. In any browser on iOS 27 or later, and in Safari on macOS 27 or later, the SDK for JavaScript can't load from the UID2 CDN, and tokens can't be generated or refreshed in the browser. This also affects the client-side and client-server refresh flows in Prebid.js.

We've added notes about this to the web integration guides, the Prebid.js guides, and the SDK for JavaScript reference. In affected browsers, use a server-side integration to generate and refresh UID2 tokens.

For details, see [Publisher integration guide, server-side](../guides/integration-publisher-server-side.md), [Client-server integration guide for Prebid.js](../guides/integration-prebid-client-server.md), and [SDK for JavaScript reference guide](../sdks/sdk-ref-javascript.md).

<!-- UID2-8061 -->

</CustomTagsContainer>

## Q2 2026

The following documents were released in the second quarter of 2026.
Expand Down
7 changes: 7 additions & 0 deletions docs/sdks/sdk-ref-javascript.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import SnptExampleUid2Cookie from '../snippets/_snpt-example-uid2-cookie.mdx';
import SnptExampleJavaScriptInit from '../snippets/_snpt-example-javascript-init.mdx';
import SnptIos27WebkitNote from '../snippets/_snpt-ios27-webkit-note.mdx';

# SDK for JavaScript reference guide

Expand All @@ -26,6 +27,12 @@ For integration steps for publishers, refer to one of the following:
- [Client-side integration guide for JavaScript](../guides/integration-javascript-client-side.md)
- [Client-server integration guide for JavaScript](../guides/integration-javascript-client-server.md)

:::note
<SnptIos27WebkitNote />

**Action required**: The SDK for JavaScript is no longer supported in affected browsers. Use a server-side integration to generate and refresh UID2 tokens instead. For details, see [Publisher integration guide, server-side](../guides/integration-publisher-server-side.md).
:::

## SDK version

This page describes version 4 of the UID2 SDK for JavaScript, which is the latest version. If you're using an earlier version, we recommend that you upgrade your integration, using the [migration guide](#migration-guide). If needed, documentation is also available for the following earlier versions:
Expand Down
6 changes: 6 additions & 0 deletions docs/snippets/_snpt-ios27-webkit-note.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
**Web integration limitations on iOS 27 and macOS 27.** Starting with iOS 27 and macOS 27, WebKit blocks client-side requests to `uidapi.com`. This affects all browsers on iOS 27 or later, including Safari and Chrome, and Safari on macOS 27 or later.

As a result, affected browsers cannot:
- Load the UID2 SDK for JavaScript from the UID2 CDN
- Generate UID2 tokens in the browser
- Refresh UID2 tokens in the browser
Loading