Security and Licensing
Licensing
Bento is MIT licensed. Preserve:
- root
LICENSE; THIRD_PARTY_NOTICES.md;- copyright and permission notices; and
- notices embedded by the upstream release build.
Anuva may keep downstream modifications private, but distributed source or runtime artifacts must retain applicable notices.
Repository security
- Repository visibility remains private.
- GitHub Issues and wiki are disabled; Linear is the work control plane.
- Force pushes and branch deletion are prohibited by policy.
- Pull requests are required for Anuva-authored changes.
- The current GitHub organization plan does not expose private-repository branch protection through the API. ANU-9 records the accepted limitation; upgrading the plan is required for technical enforcement.
- A local
pre-pushhook may be used as defense in depth against accidental direct pushes. It is not a security boundary because it is clone-local and can be bypassed withgit push --no-verify; do not describe it as remote branch protection. - Secrets, package credentials, signing keys, CMS tokens, and private documents must never enter source, docs, Linear, or PR evidence.
Runtime security boundary
ANU-11 establishes these production rules:
- disable or omit upstream update and collaboration networking in Anuva production modes;
- validate documents, messages, origins, versions, and asset identities;
- prevent executable content in documents or AI output; and
- verify offline deterministic player behavior;
- embed only font binaries in Bento documents;
- require external non-font asset bindings, media type, and SHA-256 integrity; and
- reject redirects or undeclared asset locators.
The contract package is server-safe and the player distribution retains
LICENSE and THIRD_PARTY_NOTICES.md. Consumer authentication, Unity/Vuplex
transport, and capture security remain in their owning repositories.
ANU-12 applies the same rules to production authoring:
- require exact editor protocol, origin, parent source, revision, renderer, and family versions;
- validate allowlisted operations and complete results before mutation;
- provide no script, callback, arbitrary patch, or credential-bearing field;
- construct no collaboration session in embedded production mode;
- route persistence only through the host bridge; and
- retain
LICENSEandTHIRD_PARTY_NOTICES.mdin the editor artifact.
ANU-18 preserves that boundary while adding validated host save triggers, stable surface/slide focus, duplicate-request rejection, and a generated local template catalog. The packaged catalog has a manifest-bound SHA-256 identity, does not permit public networking, and ships with the same retained license and notices.