A rule about where data goes is only as good as the list of destinations. Written
down, the list is short and checkable. Left implicit, it grows by one entry per
convenience, and nobody notices until an image proxy in a dependency starts
resolving hostnames.
What this produces
The complete list of destinations the core may reach. Today that is the server
address the operator configured, and nothing else. Artwork, metadata, playback
and authentication all resolve to that one host or to whatever it redirects to
within its own origin.
A stated rule for redirects, since a server that redirects artwork to a public
content network is sending a request, and therefore an address and a user agent,
somewhere the operator did not choose. Following it is a decision with a reason,
either way.
The rule for a server that delegates sign-in to an identity provider, where a
second host is genuinely involved and the operator's own server named it.
Done when
The list is recorded, every entry names who chose that destination, the redirect
rule is decided with its reason, and the list is the input to the check in #70.
Blocked on #68 and #29.
A rule about where data goes is only as good as the list of destinations. Written
down, the list is short and checkable. Left implicit, it grows by one entry per
convenience, and nobody notices until an image proxy in a dependency starts
resolving hostnames.
What this produces
The complete list of destinations the core may reach. Today that is the server
address the operator configured, and nothing else. Artwork, metadata, playback
and authentication all resolve to that one host or to whatever it redirects to
within its own origin.
A stated rule for redirects, since a server that redirects artwork to a public
content network is sending a request, and therefore an address and a user agent,
somewhere the operator did not choose. Following it is a decision with a reason,
either way.
The rule for a server that delegates sign-in to an identity provider, where a
second host is genuinely involved and the operator's own server named it.
Done when
The list is recorded, every entry names who chose that destination, the redirect
rule is decided with its reason, and the list is the input to the check in #70.
Blocked on #68 and #29.