# Apache-compatible static hosting. Other servers need equivalent headers.
Options -Indexes
AddType application/manifest+json .webmanifest
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^\.well-known/acme-challenge/ - [L]
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP:X-Forwarded-Proto} !^https$ [NC]
  RewriteRule ^ https://orrery.prodyn.ai%{REQUEST_URI} [R=301,L,NE]
</IfModule>
<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
  Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self'; connect-src 'self'; worker-src 'self'; manifest-src 'self'; object-src 'none'; base-uri 'self'; form-action 'none'; frame-ancestors 'self'"
  <FilesMatch "^(index\.html|sw\.js|manifest\.webmanifest|pwa-release\.json)$">
    Header set Cache-Control "no-cache, must-revalidate"
  </FilesMatch>
  <Files "sw.js">
    Header set Service-Worker-Allowed "/"
  </Files>
</IfModule>
<FilesMatch "(^\.|\.(env|key|pem|map)$)">
  Require all denied
</FilesMatch>
