Clarity, built in

A little light
on the details.

How it works, where it works, and what still needs testing.
Implementation and verified compatibility are different milestones.

Implementation ≠ validation

Where things stand.

Validation evidence for this development preview · October 25, 2026
Platform / capabilityStatusEvidence & limits
Android nativeImplemented, testingREADME reports physical Pixel 8 → Galaxy S26 Ultra measurements. Public release readiness remains unverified.
macOS nativeImplemented, testingApp launch tested on macOS. End-to-end webcam exchange still needs validation.
Linux nativeImplemented, testingREADME reports GCC 15 builds and tests. Distro/camera coverage is not established.
Windows nativeImplemented, testingWindows x86-64 build and launch smoke passed at the audited revision. Physical camera testing is pending.
Browser coreExperimentalNative C++ WASM → optical pixels → C++ receiver roundtrip verified. Physical browser/native exchange is pending.
Browser offline shellImplemented, validatedStandalone Chrome reload verified with local server stopped. Safari/iOS and installed-PWA validation pending.
Multi-receiver broadcastImplemented, testingNative external-display and shared-stream support exists. No verified room-scale demonstration is supplied.
Encrypted pairing / teamsImplemented, testingNative formats share test vectors. Physical cross-platform pairing coverage remains incomplete. Browser keys are not supported yet.

Source: repository README, shared-core tests, and this preview’s browser checks. A successful compile does not make a platform stable.

Choose a platform ↗

A visible channel, clearly explained

Integrity. Pairing. Perspective.

Every completed transfer is checked end to end with SHA-256. Integrity checks detect changed bytes; they do not make an unencrypted transfer confidential.

Native encrypted mode uses AES-256-GCM with keys established by P-256 device pairing. Compare the six-digit confirmation codes on both devices. Pairing keys expire; native teams keep a shared group key on each member’s device.

Removing a team member cannot make their device forget a key. The group needs a new key and the remaining members must be invited again. Optical patterns remain visible; unencrypted files can be read by any camera that can see them.

The browser preview refuses sealed envelopes because it has no pairing keys. It never silently opens an encrypted transfer as an unencrypted file. Use native FileFlow for encryption and teams.

No independent security audit is claimed. Read the security model and reporting policy ↗

Browser privacy & local storage ↗

Measure the light

Evidence before a headline.

The README reports native phone-to-phone measurements with the devices, distance, and speed settings described. Those figures are specific to that setup. They are not browser, webcam, or cross-platform performance promises.

We are preparing reproducible reports that identify the source commit, devices, camera/display settings, compression, actual file bytes, elapsed time, and integrity result. Browser speed, room-scale broadcast performance, and desktop interoperability will be published only after physical tests.

Read the current measurement context ↗

Open-source engineering

Explore. Test. Contribute.

The Android shell and native C++20 / SDL3 desktop suite share an optical protocol core. The browser compiles that same core to WebAssembly, with adapters for Canvas, camera frames, and browser-local file buffers.

FileFlow is AGPL-3.0 software. Commercial integration licensing is under evaluation; a packaged, supported SDK and paid Pro product are not being advertised as available.

Press footage and launch articles are being prepared. No demonstration recording or independent audit is implied by this preview. Contact the project owner through the repository for public, non-confidential inquiries.