# useNonce The `useNonce` hook returns the [content security policy](/docs/custom-storefronts/hydrogen/content-security-policy) nonce. Use the hook to manually add a nonce to third party scripts. The `Script` component automatically does this for you. Note, the nonce should never be available in the client, and should always return undefined in the browser. ### Example code ```jsx import { Links, LiveReload, Meta, Outlet, Scripts, ScrollRestoration, } from '@remix-run/react'; import {useNonce} from '@shopify/hydrogen'; export default function App() { const nonce = useNonce(); return ( <html lang="en"> <head> <meta charSet="utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <Meta /> <Links /> </head> <body> <Outlet /> <ScrollRestoration nonce={nonce} /> <Scripts nonce={nonce} /> <LiveReload nonce={nonce} /> </body> </html> ); } ``` ```tsx import { Links, LiveReload, Meta, Outlet, Scripts, ScrollRestoration, } from '@remix-run/react'; import {useNonce} from '@shopify/hydrogen'; export default function App() { const nonce = useNonce(); return ( <html lang="en"> <head> <meta charSet="utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <Meta /> <Links /> </head> <body> <Outlet /> <ScrollRestoration nonce={nonce} /> <Scripts nonce={nonce} /> <LiveReload nonce={nonce} /> </body> </html> ); } ``` ## Props ### UseNonceGeneratedType #### Returns: useNonce = () => useContext(NonceContext) ## Related - [createContentSecurityPolicy](/docs/api/hydrogen/2023-07/utilities/createcontentsecuritypolicy) - [Script](/docs/api/hydrogen/2023-07/components/script)