EXHIBIT SAFETY FILE · LOCAL SOFTWARE
Blackframe
Privacy Record
Blackframe is a local 3D silhouette puzzle game. It requests no Chrome permissions, reads no websites, uses no analytics or advertising, makes no application network requests, and stores only the minimum local progress needed to resume the gallery.
Scope of this policy
This policy describes the privacy behavior of Blackframe, a local 3D silhouette puzzle game distributed as a Chrome extension. It applies to the packaged extension, the action button used to open the game, the extension page where the gallery runs, the local progress record, and the browser features used to draw and score each study.
Blackframe is designed as an offline-capable gallery. The eight study definitions, 3D box geometry, projection math, target masks, overlap scoring, camera controls, interface styling, and progression logic are all shipped inside the extension package. The game does not depend on an account, remote leaderboard, asset server, analytics endpoint, or advertising service.
Single purpose and gameplay boundary
Blackframe has one purpose: present a sequence of 3D shadow-alignment puzzles. The player observes a geometric assembly, enters manipulation mode, rotates the object, moves a simulated light, and attempts to make the black cast silhouette overlap the target outline. The score is derived from the two locally rendered masks.
The game does not analyze real photographs, camera input, webpages, browser tabs, or the user’s physical environment. “Light” and “shadow” in Blackframe refer to mathematical game objects. No device camera, ambient-light sensor, microphone, augmented-reality API, or external image source is used.
Chrome permissions
The production manifest requests no Chrome permissions and declares no host permissions. There is no permission to read tabs, browsing history, downloads, bookmarks, cookies, storage APIs belonging to websites, clipboard contents, notifications, location, camera, or microphone.
The extension action launches Blackframe’s own packaged game page through the background service worker. That launcher does not inspect the active webpage. Blackframe therefore avoids asking for access to browsing data merely to provide a convenient toolbar entry point.
Information processed during play
While the gallery is open, Blackframe processes keyboard events, camera position and orientation, the current study number, current object yaw and pitch, current simulated light position, current projected mask, target mask, overlap score, and a short stability timer used to decide when a sufficiently aligned shadow should be accepted.
These values describe the fictional puzzle state. They are not linked to a real-world identity. The game does not ask the player to enter a name, email address, account handle, age, payment information, or contact list, and it does not derive those attributes from the browser.
Local progress data
Blackframe uses the extension page’s localStorage for a deliberately small progress record. The stored object contains a format version, the number of accepted studies, and the index of the current study. This lets the gallery resume at the appropriate study after a reload or browser restart.
The persistent record does not store the current camera position, individual object rotation, simulated light coordinate, alignment score, target bitmap, current shadow bitmap, key history, screenshots, or a history of attempts. Those values are recreated in memory when the game is opened or when a study is reset.
Shadow masks and scoring
Each study contains local 3D cuboid geometry and a target orientation defined in the packaged game data. Blackframe projects each face through a simulated point light onto a mathematical wall plane, rasterizes the result into a small offscreen canvas, and compares the current alpha mask with the target alpha mask using intersection-over-union style overlap.
The offscreen canvases are temporary rendering surfaces. Their pixels remain inside the game process and are not written to disk by Blackframe, uploaded, or used to identify the player. The target is generated from the same local geometry engine rather than downloaded from a remote puzzle database.
Network behavior
Blackframe does not make application-level network requests. Production code does not use fetch, XMLHttpRequest, WebSocket, EventSource, remote imports, cloud saves, leaderboard requests, analytics calls, ad calls, or external asset requests. The gallery remains functional without an internet connection after installation.
Chrome itself may contact browser or store infrastructure for extension installation, security checks, synchronization, or updates. Such browser-managed traffic is outside Blackframe’s JavaScript and is governed by the browser provider’s own terms. Blackframe does not receive those browser records.
Rendering and device information
Blackframe draws the gallery and geometric objects using local canvas rendering. It uses animation timing so camera motion, object rotation, and the score display update smoothly. The renderer necessarily executes on the user’s browser and hardware, but the game does not record GPU model, CPU model, memory size, device serial number, advertising identifier, or other hardware fingerprint.
Frame timing may exist momentarily as part of browser animation scheduling, but Blackframe does not create a performance telemetry log or transmit benchmark values. A user may observe different frame rates on different devices, yet that performance difference remains local.
Keyboard input
Blackframe listens to keyboard input on the game page. Arrow keys adjust the view; WASD moves the camera in observe mode and rotates the object in manipulation mode; Q and R move the simulated light; E toggles manipulation; and X resets the current study. These events are interpreted only as game controls.
The extension does not create a keystroke history and does not monitor typing performed on other websites. Blackframe has no password field, chat box, payment form, or hidden text collector. Closing or unfocusing the game page removes the practical context in which those gameplay controls are used.
No analytics, ads, or profiling
Blackframe contains no analytics SDK, ad network, telemetry SDK, tracking pixel, attribution library, fingerprinting library, user account, or remote leaderboard. The developer does not receive a record of which studies a particular player solved or how long they spent aligning a silhouette.
Alignment percentages are calculated locally from the current and target masks and shown in the interface to guide the player. Completion state is written only to the local progress record. It is not converted into a behavioral profile or shared with advertisers.
Third-party content and code
The production runtime does not embed third-party web pages and does not load executable JavaScript from a CDN. The geometric study data, styles, icons, and game scripts are packaged with Blackframe. The interface relies on browser/system font fallbacks rather than loading web fonts from an external font service.
Distribution through the Chrome Web Store is separate from runtime behavior. The store or browser may process installation and update information according to its own privacy policy. Blackframe does not combine store information with local puzzle progress because it has no server on which to perform that combination.
Retention
The local progress record can remain in the Chrome profile until the player resets it, clears extension/site data, removes the extension, or the browser profile is deleted. There is no server retention period because Blackframe does not upload progress to a server.
Current shadows, target raster buffers, object rotations, light position, camera state, and key state are transient. They exist in memory while the game runs and are replaced when the player changes study, resets, reloads, or closes the page. They are not retained as a replay file by version 1.0.0.
Deletion and reset
The start screen provides a Reset Progress control. The completion screen also offers a way to start again. These controls remove the Blackframe progress key from local storage and reload the gallery. Chrome’s extension-management and site-data interfaces can also remove local data, and uninstalling the extension ordinarily removes its local extension origin data.
Deletion does not require contacting a server or waiting for the developer because no remote copy is created by Blackframe. If a separate browser-profile backup or synchronization product copies local extension data, deletion of that external copy is controlled by that separate product.
Security model
Blackframe reduces privacy and security exposure by asking for no Chrome permissions, avoiding remote executable code, storing only minimal puzzle progress, and not operating a public backend service. The game runs under its extension origin and does not intentionally expose a network listener or cross-site data bridge.
Local data can still be affected by threats outside Blackframe, including compromised operating systems, malicious browser software, unauthorized profile access, or browser vulnerabilities. The information at risk from Blackframe itself is intentionally low sensitivity: a study index and completion count rather than credentials, communications, browsing history, or financial records.
Children and age-related information
Blackframe does not knowingly collect personal information from children or adults because it does not provide registration, social features, advertising profiles, or remote telemetry. It does not ask for a birthday, school, legal name, email address, phone number, or precise location.
The same privacy model applies regardless of player age: local geometry, local input, local progress, and no application network service. Parents or guardians can use normal browser extension controls if they wish to manage whether the extension is installed or available in a particular browser profile.
User controls and accessibility
The user controls when the gallery is opened, whether manipulation mode is active, when a study is reset, whether progress is kept, and when the extension is disabled or removed. Browser zoom, display scaling, keyboard settings, and other accessibility tools may affect presentation without changing the categories of data Blackframe processes.
Blackframe does not attempt to defeat managed-browser policy, disable browser security UI, force fullscreen mode, or prevent the user from closing the tab. The game is intentionally contained in a normal extension page so standard browser controls remain available.
Changes to this policy
A future version should update this record if it adds a Chrome permission, imports user files, introduces online sharing, adds a leaderboard, stores more detailed replays, loads remote assets, or otherwise changes the privacy boundary described here. New functionality should not silently rely on an old policy that no longer matches production code.
The version and effective date in the accession header associate this policy with Blackframe 1.0.0. Users of later releases should review the policy provided with that release, especially if the Chrome Web Store permission disclosure changes.
Contact and questions
Privacy questions can be sent through the support/contact method listed on Blackframe’s Chrome Web Store page. The product does not include an in-game messaging or ticketing system because adding such a system would create additional data-processing obligations that are unnecessary for this local puzzle game.
A support request normally needs only the extension version, browser version, study number, and a description of what appeared on screen. Users should not send passwords, private browsing content, or unrelated personal information, because Blackframe does not need that information to explain its local progress and rendering behavior.