Privacy and hosting
This is an open-source playground for LM15, not a service that runs models for you. Bring your own provider account and API key. Sending messages may cost money on that account.
Where your information goes
- Your browser sends messages and the selected provider's key directly to that provider. There is no LM15 proxy. That provider's privacy rules apply to those requests.
- GitHub Pages hosts the public files and handles normal hosting traffic, including your IP address. The app does not send your keys or messages to GitHub, and includes no analytics, advertising, or third-party scripts.
- The conversation stays in the page's memory and is lost on refresh. It is sent again to your provider with each turn so the conversation can continue.
- Keys also stay in memory unless you choose Remember on this device. Remembered keys are encrypted in this site's browser storage. Forget deletes them. Keys stored on localhost or a different website do not carry over here.
- Encryption does not protect against scripts running on this page: they must be able to use the key to send a request. Only use the playground if you trust this site and its updates. Prefer limited-budget keys and revoke keys you no longer need.
What this hosting setup can and cannot do
GoDaddy manages the address. GitHub Pages serves the files and provides HTTPS, the encrypted browser connection. JavaScript, Python via Pyodide, and the Rust WebAssembly codec run in your browser. Python and Rust load only when selected; Python downloads about 13 MB the first time.
Browser access is controlled by the model provider. A provider that blocks browser requests will not work here. There is no silent proxy or fallback. For local HTTP model servers, use the local playground; the public HTTPS site allows only HTTPS requests.
GitHub Pages does not let us set custom HTTP security headers. The page uses a restrictive Content Security Policy to limit scripts and connections, but that is not equivalent to a server-controlled policy. Do not embed this playground in another site.
Releases use versioned asset addresses so a cached script cannot silently mix with a different release's libraries. A new release may require downloading the runtimes again. Reload an old tab if a runtime can no longer be loaded after an update.
Source and licenses
TypeScript and the playground · Python · Rust · Published source revisions and file checksums
- LM15: TypeScript license, Python license, Rust license.
- Rust standard library: MIT license or Apache license. Corresponding source.
- Rust dependencies: license notices. Dependency versions and source locations are listed in the pinned Rust repository's Cargo.lock.
- Pyodide, distributed unmodified: Mozilla Public License 2.0. Corresponding source.
- CPython 3.13.2, included in Pyodide: Python license and acknowledgments. Corresponding source.