# Proa Framework documentation > Public documentation for the Proa Rust web framework. Fetch the linked Markdown for focused context. ## Pages - [Route responses](https://proa.so/docs/framework/responses.md): Return synchronous, buffered async, or streaming SSR with islands\. - [Routes and layouts](https://proa.so/docs/framework/routing.md): Define route trees, layouts, and static paths\. - [Linking and navigating](https://proa.so/docs/framework/linking.md): Navigate between Proa pages with anchors, optional prefetching, and Turbo Drive\. - [Route handlers](https://proa.so/docs/framework/route-handlers.md): Build JSON, form, and webhook endpoints with Route\:\:endpoint\. - [Sitemaps](https://proa.so/docs/framework/sitemaps.md): Generate sitemap\.xml, add page metadata, and split large sites into multiple sitemaps\. - [robots\.txt](https://proa.so/docs/framework/robots.md): Generate robots\.txt, configure specific user agents, and publish optional crawler directives\. - [Content negotiation](https://proa.so/docs/framework/content-negotiation.md): Serve HTML and Markdown representations of one resource through HTTP content negotiation\. - [Page caching](https://proa.so/docs/framework/page-caching.md): Cache pages at the edge and refresh them after deployment\. - [Status, redirects, and errors](https://proa.so/docs/framework/errors.md): Set status codes, return redirects, and render error pages\. - [Metadata and OG images](https://proa.so/docs/framework/metadata.md): Compose titles, descriptions, and social preview images\. - [Data loading and streaming](https://proa.so/docs/framework/data-loading.md): Dedupe server loads, seed the browser query cache, apply cache policy, and stream slow page sections with Suspense\. - [Databases](https://proa.so/docs/framework/databases.md): Connect SQLx, Diesel, or Toasty to a Proa DataLoader and render typed rows as components\. - [Data caching](https://proa.so/docs/framework/caching.md): Deduplicate loads, cache data across requests, and invalidate render dependencies\. - [Fonts](https://proa.so/docs/framework/fonts.md): Self\-host web fonts with metric\-matched fallbacks and zero runtime requests, declared in code and vendored by the build\. - [Images](https://proa.so/docs/framework/images.md): Serve responsive images from static assets, without a build pipeline\. - [Static assets](https://proa.so/docs/framework/static-assets.md): Serve static files, embedded assets, and external apps safely\. - [Third\-party integrations](https://proa.so/docs/framework/third-party.md): Add consent\-aware Google Analytics, deferred scripts, and click\-to\-load YouTube embeds to Proa pages\. - [FrameworkBuilder configuration](https://proa.so/docs/framework/configuration.md): Configure FrameworkBuilder, security defaults, static mounts, external apps, and response behavior\. - [proa\.config\.json](https://proa.so/docs/framework/project-config.md): Configure the dev server, asset build, and component registries\. - [Environment variables](https://proa.so/docs/framework/environment.md): Configure a deployed Proa app without rebuilding the binary\. - [Headers and CSP](https://proa.so/docs/framework/security-headers.md): Set frame policy, HSTS, and a nonce\-based Content Security Policy\. - [Cross\-origin and CSRF](https://proa.so/docs/framework/cross-origin.md): Reject forged cross\-origin writes, and add the CSRF defense Proa does not\. - [Deploy](https://proa.so/docs/framework/deployment.md): Pick a deployment target, then follow the guide for it\. - [Railway](https://proa.so/docs/framework/railway.md): Deploy a Proa app to Railway from a Dockerfile in about ten minutes\. - [Coolify](https://proa.so/docs/framework/coolify.md): Deploy a Proa app to Coolify on your own VPS\. - [Docker](https://proa.so/docs/framework/docker.md): Run the Proa image yourself, and own everything a platform would have done\.