> ## Documentation Index
> Fetch the complete documentation index at: https://www.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Customizing Terms of Service (ToS) & Privacy Policy (All Wallets)

<Card title="Recommended: JavaScript SDK with React Hooks" icon="react" color="#4779FE">
  For new React apps, we recommend the JavaScript SDK with React Hooks (`@dynamic-labs-sdk/react-hooks`) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the [React quickstart (JavaScript SDK)](/docs/javascript/reference/react-quickstart) to get started.
</Card>

## Overview

Displaying your Terms of Service and Privacy Policy is an important step in customer onboarding. We give you the flexibility to display these documents in our SDK, or you can hide the links and display them elsewhere on your site.

<Frame>
  <img src="https://mintcdn.com/dynamic-docs-testing/L6Baf9nHRMN5_MjI/images/widget/widget-tos-privacy-policy.png?fit=max&auto=format&n=L6Baf9nHRMN5_MjI&q=85&s=1abf83e7e80ddf0774d14d9601dc1985" width="900" height="1210" data-path="images/widget/widget-tos-privacy-policy.png" />
</Frame>

## Configure policy URLs

### privacyPolicyUrl (optional) & termsOfServiceUrl (optional)

We currently display the Terms of Service and Privacy Policy during the connecting step of the SDK.

If you want to update the links, you can do so by updating the props in settings:

```TypeScript theme={"system"}
<DynamicContextProvider
  settings={{
    privacyPolicyUrl: "https://example.com/policies/privacy-policy",
    termsOfServiceUrl: "https://example.com/policies/terms-of-service",
    // ...other settings
  }}
>
  {children}
</DynamicContextProvider>
```

### Hiding the Terms of Service and Privacy Policy copy

If you don't want to display this text, you can hide the sentence with:

```TypeScript theme={"system"}
<DynamicContextProvider
  settings={{
    displaySiweStatement: false,
    // ...other settings
  }}
>
  {children}
</DynamicContextProvider>
```

## Custom inline policy content

For even more flexibility, you can provide custom content for your Terms of Service and Privacy Policy directly inline using the `customPrivacyPolicy` and `customTermsOfService` props. This allows you to embed the full policy content within your app instead of linking to external pages.

```TypeScript theme={"system"}
<DynamicContextProvider
  settings={{
    customPrivacyPolicy: (
      <>
        <h2>Custom Privacy Policy</h2>
        <p>Your custom privacy policy content goes here.</p>
      </>
    ),
    customTermsOfService: (
      <>
        <h2>Custom Terms of Service</h2>
        <p>Your custom terms of service content goes here.</p>
      </>
    ),
    // ...other settings
  }}
>
  {children}
</DynamicContextProvider>
```

## Display as a checkbox

As an alternative to displaying the Terms of Service and Privacy Policy as a sentence, you can display a checkbox that the user must check to proceed.

To enable this feature:

1. Go to your Dynamic dashboard
2. Navigate to the login methods section under information capture
3. Turn on "TOS and Privacy Policy"

Once enabled, Dynamic will automatically display a built-in checkbox during the user's onboarding flow (post-login). The user must check this box to proceed.
