Public website / Security design
Separate by design.
This website remains static and independently hosted. It documents the public Referee connection but does not proxy or execute evaluations. The beta and support pages each have a narrowly scoped outbound form action for delivering requests through the same managed form relay.
Trust boundary
visitor ──HTTPS──▶ static edge host ──▶ HTML / CSS / SVG
└─ optional beta or support request ──▶ managed form relay ──▶ operator email
╳ no evaluation proxy
╳ no dataset upload
╳ no runtime credentials
The public site and the ML Referee service do not need to share a machine, process, repository, secret store, or network. Publishing the website copies a small set of reviewed static files to an edge host.
What is absent
- No JavaScript, TypeScript output, WebAssembly, service worker, or client application runtime.
- No product authentication, dataset uploads, comments, search box, or user-generated content display.
- No package manager, dependency tree, build plugin, or installation script.
- No added client-side analytics SDK, advertising code, tracking pixel, tag manager, remote font, third-party embedded media, or passive third-party request. The hosting service records the aggregate traffic described in the Privacy Notice.
- No service credentials, private service routes, backend function, or evaluation proxy. The public MCP endpoint is intentionally documented for supported clients.
Browser policy
Every page declares a restrictive Content Security Policy: deny resources by default and narrowly permit required same-origin assets. Frames, workers, objects, and browser-script connections are prohibited. Media is blocked except on the unlisted demo page, which permits its same-origin video. The beta and support pages permit form submissions only to the exact HTTPS origin used by the managed relay. The referrer policy remains no-referrer.
Operational recommendation
Keep the website in its own minimal repository and deploy it through a static-only hosting project. Protect the default branch, require review, pin deployment permissions to the website repository, and never give the hosting identity access to the Referee machine or service secrets.
Changes that reopen the threat model
Expanding the current form destination or fields, or adding JavaScript, analytics, third-party content, authentication, server functions, uploads, or a service connection is an architecture change—not a cosmetic edit. Any one of those should trigger a new security review before deployment.