Moontide manual Contents

Network, privacy, credits and license

This page says what Moontide sends over the network and to whom, how to report a bug or a security problem, whose work Moontide builds on, and under which license it is shared.

Network and privacy

What keeps other programs out

Four checks guard the page's channel to the server, and they protect different things.

Every kind of refusal is written to the server's log, and the page shows each refusal it receives.

Reporting a bug and security problems

Bug reports and ideas are welcome as issues (use the bug form). How pull requests are handled is in CONTRIBUTING.md. Never paste anything private in an issue: no names, personal paths or tokens.

Security problems go through a private report, never a public issue. See https://github.com/konni-arcadia/moontide/security/policy.

Credits

This builds on other people's work:

License

Moontide plays Strudel, which is under AGPL-3.0-or-later. Moontide uses the same license. It loads Strudel from unpkg at run time and does not ship it. The license text is in LICENSE. Moontide is not affiliated with, or endorsed by, the Strudel or TidalCycles projects, or Anthropic.

What was verified

Verified:

  • The host check, the origin check and the two tokens are covered by automated tests: a request under another host name is refused 403 and its answer holds no token, the loopback names are the only ones accepted, a connection from a foreign origin, with no origin or with the origin "null" is refused, a listener connection that carries an origin or a wrong token is refused, and two sessions never share a token.
  • A test reads the pinned Strudel version, its address and the start of its integrity hash from the page.

Not verified:

  • The sound lists and samples Strudel fetches carry no hash, and the code Claude writes may load samples from other addresses, so what those files hold is not checked.
  • No test proves that the server makes no outbound request or sends no telemetry. This comes from reading the sources, which hold no such call.
  • That the integrity hash of acorn matches the file unpkg serves today, and what a pinned file holds beyond its hash: the browser checks the hash when it loads the file, and no test of this project does.