Skip to content
Open
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 />

**Required action:** On affected browsers, generate and refresh UID2 tokens on your server. See [Publisher integration guide, server-side](integration-publisher-server-side.md).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required: On affected browsers, generate and refresh UID2 tokens on your server. For details, see Publisher integration guide, server-side.

:::
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 />

**Required action:** This client-side integration is not supported in affected browsers. Use a server-side integration to generate and refresh UID2 tokens. See [Publisher integration guide, server-side](integration-publisher-server-side.md).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

:::

## 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 />

**Required action:** On affected browsers, use a server-side solution to generate and refresh UID2 tokens. See [Publisher integration guide, server-side](integration-publisher-server-side.md).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required: On affected browsers, use a server-side integration to generate and refresh UID2 tokens. For details, see Publisher integration guide, server-side.

:::
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 />

**Required action:** This client-side integration is not 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).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required: This client-side integration is no longer supported in affected browsers. Use either the Publisher integration guide, server-side or the Client-server integration guide for Prebid.js in 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
18 changes: 18 additions & 0 deletions docs/ref-info/updates-doc.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,24 @@ 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 on lines +27 to +28

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

iOS 27 and macOS 27 web integration limitations

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, Client-server integration guide for Prebid.js, and SDK for JavaScript reference guide.


October 9, 2026

Starting with iOS 27 and macOS 27, WebKit blocks client-side requests to `uidapi.com`. We've added notes to the web integration guides and the SDK for JavaScript reference explaining that, in affected browsers, the SDK can't be loaded from the UID2 CDN and tokens can't be generated or refreshed in the browser. The notes link to server-side alternatives.

For details, see [Publisher integration guide, server-side](../guides/integration-publisher-server-side.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 />

**Required action:** The SDK for JavaScript no longer works on these browsers. Use a server-side integration to generate and refresh tokens instead. See [Publisher integration guide, server-side](../guides/integration-publisher-server-side.md).
Comment thread
sunnywu marked this conversation as resolved.

@kristinvc kristinvc Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

:::

## 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