This is by no means a comprehensive guide, but React Router provides features to help address a few aspects under the very large umbrella that is Security.
Content-Security-PolicyIf you are implementing a Content-Security-Policy (CSP) in your application, specifically one using the unsafe-inline directive, you will need to specify a nonce attribute on the inline <script> elements rendered in your HTML.
Add a nonce to these two spots in entry.server.tsx:
<ServerRouter nonce> prop
nonce-aware elements, including <Scripts>, <ScrollRestoration>nonce prop, it will override the ServerRouter valuenonce options of renderToPipeableStream/renderToReadableStream