Risks
The most important risk is first.
- The internal API can change. The endpoints have no documentation. Gopher shows only the content of its own user and does not send it to other persons. To decrease the risk, all calls go through one layer of code. Thus you can repair a change in one file. Read the data layer.
- Patreon can refuse requests.
/api/postsanswers with HTTP 429 when there are too many requests. To decrease the risk, Gopher limits its own requests, gets one page at a time, and keeps the results in the cache. Read request limits. - A signed CDN URL becomes invalid. The CDN then answers with HTTP 403. To decrease the risk, Gopher sends no referrer and gets a new URL when the old URL becomes invalid. Read media, CDN, and CSP.
- Patreon can identify Gopher as a robot. Many requests in a short time can start a Cloudflare challenge. The risk increases with the number of requests and with their rate. Request limits gives the limits that keep this risk low.
- A large message between the two origins can be slow. The risk is low, because the runner normalizes the data first. A message is 25 KB to 42 KB (ADR-010, closed).
- Video is complex. An HLS manifest can have a token. A third-party player (YouTube, Vimeo) cannot play in the extension panel, because Chrome sends no referrer for its iframe. Gopher therefore opens the video in the tab of the provider.
- Safari has a cost. The fee is $99 each year, and Apple examines each release. Deferred. See the architecture: platforms.
- Privacy. Dexie holds entity data. This includes the creators that the user pays and the NSFW flags. The Cache API holds media bytes. The normalizer removes the identity fields of the account holder. The panel has a function that deletes both stores (GDPR Article 5).