# RenMori ## Docs - [Introduction](https://renmori.mewbaka.cn/en/guide/introduction.md): RenMori is a full-data protection tool for commercial Ren'Py visual novels; this page covers what it protects, who it is for, testing status and licensing - [Quick Start](https://renmori.mewbaka.cn/en/guide/quick-start.md): Install RenMori and protect your first Ren'Py distribution build - [CLI Overview](https://renmori.mewbaka.cn/en/cli/overview.md): The role of the renmori command-line tool, installation methods, command structure, global options and environment variables - [renmori protect](https://renmori.mewbaka.cn/en/cli/protect.md): Protect a Ren'Py distribution build, covering input forms, output modes, file handling rules, the execution flow and all options - [renmori verify](https://renmori.mewbaka.cn/en/cli/verify.md): Verify the integrity and plaintext leftovers of a protected build against its build manifest, for use as a pre-release check or CI gate - [Configuration File renmori.toml](https://renmori.mewbaka.cn/en/cli/configuration.md): The lookup order of renmori.toml, the rules for merging it with command-line options, and all configuration keys in [protect] and [keys] - [Output, Build Manifest and Exit Codes](https://renmori.mewbaka.cn/en/cli/output.md): The stderr and stdout output conventions of renmori, the fields of the result JSON, the format of renmori-manifest.json, and all exit codes - [Protection Strength and the Closed Plugin](https://renmori.mewbaka.cn/en/cli/plugin.md): The difference between baseline protection and full protection, and how the closed plugin is obtained, verified, cached, used offline and negotiated through the capability handshake - [Troubleshooting](https://renmori.mewbaka.cn/en/cli/troubleshooting.md): All error messages of renmori protect and renmori verify with their causes and resolutions, and common issues when running a protected build - [CI integration](https://renmori.mewbaka.cn/en/integration/ci.md): Run RenMori non-interactively in a CI pipeline, manage keys and the closed plugin cache, and gate releases on renmori verify - [Releasing to Steam](https://renmori.mewbaka.cn/en/integration/steam-release.md): Publish a protected Ren'Py distribution build to Steam in the order build, protect, SteamPipe upload, with depot layout, launch options and Steam compatibility notes - [Architecture](https://renmori.mewbaka.cn/en/technical/architecture.md): The overall design of RenMori, covering the performance-first principle, the four protection layers, per-build polymorphism, the open-core split, the anti-reverse-engineering model, platform integration, licensing and milestones - [Threat model](https://renmori.mewbaka.cn/en/technical/threat-model.md): What client-side protection can and cannot do, which attacks RenMori stops and which it does not, and the claim the project is allowed to make - [Container format v1](https://renmori.mewbaka.cn/en/technical/container-format.md): The open specification of the RenMori baseline container format v1, covering file layout, header and index structure, chunked encryption, HKDF key derivation, and the nonce and AAD scheme - [Loader hook](https://renmori.mewbaka.cn/en/technical/loader-hook.md): How RenMori plugs into Ren'Py 8.5 asset loading, covering file-open callbacks, file discovery, Ren'Py Extension load timing, the RWops return type and in-engine AES - [Script layer and engine lockdown](https://renmori.mewbaka.cn/en/technical/script-layer.md): The M2 encryption transform for Ren'Py scripts, the block on injected decompilers, and the release lockdown measures - [Plugin interface](https://renmori.mewbaka.cn/en/technical/plugin-interface.md): The stable process contract between the open renmori command-line tool and the closed protection plugin, covering discovery, transport, operations, division of responsibility and versioning - [Research: the state of Ren'Py protection](https://renmori.mewbaka.cn/en/technical/research.md): A survey of Ren'Py's archive and script formats, attacker-side tooling, prior protection attempts and official and community positions, and how the findings shaped RenMori's design - [M1 results: asset layer](https://renmori.mewbaka.cn/en/milestones/m1-results.md): The baseline asset layer delivered and verified in milestone M1, covering the encrypted container, the runtime loader hook, in-engine crypto backends, off-the-shelf tool failures and performance figures - [M4: polymorphism, launchers, platforms and Steam](https://renmori.mewbaka.cn/en/milestones/m4.md): Scope and verification status of per-build divergence, cross-platform loading, per-platform crypto backends and Steam compatibility in milestone M4, separating the open baseline from closed or hardware-pending work - [Disclaimer](https://renmori.mewbaka.cn/en/license/disclaimer.md): All disclaimer terms that apply when using RenMori, covering warranty, protection effectiveness, limitation of liability, third-party components, trademarks and documentation accuracy - [Contribution Requirements](https://renmori.mewbaka.cn/en/license/contributing.md): Requirements for submitting code, documentation, issue reports and security vulnerability reports to RenMori, including the Contributor License Agreement, contribution scope and security principles - [Notes for Developers](https://renmori.mewbaka.cn/en/license/developer-notes.md): What developers protecting and releasing games with RenMori need to know about the scope of the license, third-party license obligations, key and backup management, and the pre-release checklist