Holi Labs
2 min Privacy

Write a privacy label people can actually verify

Trace data from input to recipient and turn the result into a short, honest product summary.

#privacy #metadata #product
Contents
Draw the complete flow Separate content from metadata Label the active mode Avoid absolute promises Put the summary near the action Keep it synchronized Verification checklist

“Private” is too broad to be a useful product claim. A good label tells people what happens to their content, what the network provider can observe, and what changes when they enable a connected feature.

Draw the complete flow

For every action, follow this sequence:

input → memory → storage → network → provider → recipient

Record what exists at each stage, for how long, and why. Do this for the default local workflow and again for each connected mode.

Separate content from metadata

If a document is processed in the browser, say that clearly. Do not turn it into the stronger claim that nobody can observe anything. The hosting provider can commonly receive IP address, request time, requested route, user agent, and traffic volume while serving the application.

The distinction should be visible:

  • Content: document text, images, filenames, QR values.
  • Connection metadata: IP address, timing, route, and request volume.
  • Collaboration metadata: room identifiers, relay routing, peer addresses, and presence events, depending on the architecture.

Label the active mode

Local editing, direct peer-to-peer collaboration, and relayed collaboration have different recipients and risks. Name the current mode in the interface instead of hiding the difference in a policy page.

Avoid absolute promises

Prefer claims tied to behavior:

  • “This document is processed in your browser.”
  • “Opening a local file does not upload it.”
  • “Cloudflare can process connection metadata while serving this page.”

Avoid “zero knowledge” or “no information is collected” unless every layer of the deployed system has been designed and verified for that exact property.

Put the summary near the action

Show a compact label in the product shell, then link to details. Before a network boundary is crossed, provide a more specific disclosure and an explicit action. A policy page alone is too far from the decision.

Keep it synchronized

Treat the label as a user-facing contract. A release that changes storage, analytics, collaboration, error reporting, or providers must update the flow and visible Shadow Log.

Verification checklist

  • Inspect requests during the complete workflow.
  • Search logs and telemetry schemas for sensitive fields.
  • Test local editing with the collaboration service unavailable.
  • Confirm filenames and document bytes do not enter error reports.
  • Make the provider and recipient explicit for every connected mode.
Previous A Typst project structure that grows without friction Next Why Holi QR keeps a small Rust core

Local preferences

Configuration

These preferences stay in this browser and do not require an account.

Appearance

Theme Applies on this device

Navigation

Home Holi.tools Papers
Session No account · local preference

Current v0.6.0

Versions

Keep Holi available

Support independent tools

Donations help cover hosting and development without making accounts or remote storage mandatory.

Contact
v0.6.0 2026-09-02
  • Defined Tutorials, Field notes, Experiments, and Papers as formats in one Holi Labs publication
  • Added a localized Papers collection with a subtle crane category mark across all seven languages
  • Added format filters and the axolotl identity while preserving one shared library and privacy shell
v0.5.0 2026-09-02
  • Extended the Labs library shell, privacy summary, search, filters, and article routes to all seven Holi languages
  • Localized the shared product dock and removed its unstable outer glow
  • Kept code blocks, URLs, file paths, and technical product names intact across translated tutorials
v0.4.0 2026-09-02
  • Rebuilt Labs as a practical library with featured reading, search, category filters, and reading time
  • Published seven complete English and Spanish tutorials, guides, and engineering notes
  • Added coherent light and dark Labs palettes and limited public routes to fully translated locales
v0.3.0 2026-09-02
  • Unified Configuration, Versions, and Privacy in the shared Holi product dock
  • Added local theme and language preferences plus Labs navigation inside Configuration
  • Placed donations, support, and the visible Shadow Log inside Versions
v0.2.1 2026-09-02
  • Separated privacy and Version Log into left and right floating controls
  • Moved privacy facts into a dedicated glass drawer
v0.2.0 2026-09-02
  • Added a visible privacy summary to experiment, article, and tag pages
  • Made the current version and Shadow Log available throughout Labs
  • Reframed Labs as a research publication rather than a product backlog
v0.1.1 2026-01-12
  • Added English and Spanish routes
  • Synchronized the content collection
  • Improved stability
v0.1.0 2026-01-12
  • Created the first Labs content collection
  • Published initial graphics and performance notes

Privacy at a glance

Privacy summary

Reading and exporting articles does not give personal files to Holi. Cloudflare can observe your IP and access time.

Content
Labs publishes static articles and does not request your local documents.
Export
Copying summaries and generating Markdown or print output happens in your browser.
Hosting
Cloudflare may process IP, time, requested path, traffic volume, and routing data.
External links
Donation, support, and external sources open only when you choose them.

About

Holi Labs

Tutorials, field notes, and technical guides for building useful local-first web tools.

Explore Holi.tools

Donate

Donate

If Holi.tools helps you, you can support its continued development here:

GitHub Sponsors Ko-fi

Support & suggestions

Support & suggestions

For support, bug reports, or suggestions:

Email [email protected] GitHub Issues

Source code: https://github.com/HugoAndresAmayaChairez/holi.tools