Open World Format

Security and Privacy Considerations

The Open World Format is code-adjacent by design. Behaviors run from load, triggers fire on click and proximity, and third-party packages ship meshes, textures, and audio by hash. Content-addressing verifies a file is the one the author meant, but not that the author meant well.

1. Robustness vs. Safety

The “must-ignore” rule is a robustness rule, not a safety rule. It states what a reader does with unknown content to prevent crashes on version-skew. It does not mitigate what untrusted content can do to a system.

Mitigation is the loader’s job. Implementations parsing third-party .world packages MUST defend against:

2. Privacy: Input Logs are Behavioral Recordings

The session log (ops.jsonl) captures input operations natively. These operations log a named visitor’s position, gaze, and clicks at ~10 Hz.

When a save game (the base world plus a player’s log) is circulated, it is not merely a record of the world’s state—it is a high-fidelity behavioral recording of the player. Tools that package worlds for distribution SHOULD provide an option to strip input operations, unless the player explicitly intends to share a replay.

Additionally, meta.prompt (or its equivalent in ext-provenance) carries whatever the author typed to generate the world. This field is preserved into every distributed copy and may inadvertently leak personal text or sensitive generation inputs.

3. Authenticity and Identity

The session log tracks operations via the author field, but this is an unauthenticated free-form object. While the package integrity hashes (log_sha256) prove the file hasn’t been altered since the hash was generated, they do not prove who wrote it. Implementations MUST NOT rely on the author field for security or authorization decisions unless an external cryptographic layer (e.g., signed commits, multiplayer server authority) validates the identity.

4. Live Authoring Surfaces

An authority that serves a local API for authors (the package, “The live folder”) opens a door into the user’s machine: