# Scope and compliance guidance This project is an unofficial compatibility layer for running the macOS League of Legends client on Linux through Darling. It is not affiliated with, endorsed by, or sponsored by Riot Games, Inc. See [interoperability and compliance scope](INTEROPERABILITY.md) for the project's practices on interoperability, copyright, access controls and trademarks. Neither document is legal advice. ## Scope - The project is about compatibility: making the client run, render and behave correctly on Linux. - It does not aim to circumvent DRM, anti-cheat, licensing, telemetry, authentication, or other platform security controls, and it does not distribute a game client, game assets, or account data. - It does not forge authentication tokens or server-side integrity attestations. The synthetic platform identity is local compatibility metadata, not an Apple-issued identifier or a Riot credential. This repository does not pass it as Riot authentication data; the official client's later handling of guest-visible values is outside this repository's scope. - Do not describe or present the project as a tool for evading detection, preventing bans, bypassing DRM, or defeating anti-cheat. Do not promise that an account will not be banned. ## Terminology Prefer accurate compatibility language: | Prefer | Avoid | |---|---| | compatibility issue, client check, platform identity | detection vector, stealth, evasion, bypass | | hardware/platform reporting | spoofing, telemetry leak | | runtime/launcher fix | anti-cheat bypass | Technical facts can be described precisely without framing the work as evasion. If a change touches a client check or a platform identity, say what it does and why it is needed for compatibility. ## Known local limitations - Darling has no macOS MAC/Seatbelt/AMFI framework. The compatibility layer reports the local `___mac_syscall` probe as satisfied so Chromium/CEF can start. This does **not** implement a sandbox and does not make the guest secure. Treat the guest as unsandboxed and do not run untrusted content. It does not interact with Riot's servers or bypass a Riot control. - Platform-identity values generated by `tools/configure-darling-platform.py` are synthetic and local. They are not Apple-issued identifiers, credentials or authentication tokens; do not use them with Apple services or to impersonate real hardware. - The opt-in hide helper manages local client windows while a match runs. The opt-in close helper terminates eligible League client UI processes. Neither helper patches client binaries, CEF, anti-cheat or DRM, and both helpers are off by default. ## Assets and third-party material - Do not add or link third-party game assets: logos, icons, fonts, screenshots, gameplay audio/video, client files, game data, or account data. - Project icons and artwork must be original. Forks must use their own name and icon; see the trademark notice in `README.md` and `NOTICE.md`. - Do not commit local prefixes, logs, tokens, captures, or compiled client/runtime binaries. - Keep upstream copyright, license and attribution notices. - Donations are voluntary and support the free tooling. They do not sell the game, a license, access or priority. ## Pull requests and issues - Describe the compatibility problem and the fix. Avoid "stealth", "spoof", "evade", "undetectable", or "unbannable" framing. - Maintainers may ask for wording changes before merging. This is about keeping the project's scope accurate, not about hiding technical details. - Contributions that add third-party assets or present the project as a DRM/anti-cheat circumvention tool are out of scope for this repository. - Sign off commits under the Developer Certificate of Origin; see [`CONTRIBUTING.md`](../CONTRIBUTING.md). By contributing, you confirm that you have the right to submit the work and license it under the project's terms. ## Note This document describes project scope and review expectations. It is not legal advice. See [interoperability and compliance scope](INTEROPERABILITY.md) and [`NOTICE.md`](../NOTICE.md).