Skip to content

Reviewed August 3, 2026

Privacy & Test Center

This page makes two narrow parts of the current implementation inspectable: which public entries are interactive tools versus reference guides, and which interactive routes use localStorage versus page memory. It also provides user-triggered sample checks for a small set of deterministic functions.

Current public inventory

75

Interactive tools

3

Reference guides

25

Tools using localStorage

50

Tools using page memory

Of the 75 interactive tools, 25 currently reference localStorage to remember recent input and/or settings on the visitor's device. The other 50 keep tool state in page memory for the current tab session. Theme and analytics-consent preferences also use localStorage, but they are site preferences and are not counted as tool routes.

25 interactive routes that use localStorage
50 interactive routes that use page memory
3 reference guides

Privacy and browser boundaries

Current FlipMyCase privacy and browser boundaries
AreaCurrent boundary
Tool processingInteractive tool logic runs in the browser. FlipMyCase does not intentionally include entered tool content in application-server requests or analytics events.
Browser storageThe inventory above distinguishes 25 tool routes that reference localStorage from 50 that keep tool state in page memory. Visitors can remove stored values through tool reset controls or browser site-data settings.
Optional analyticsGoogle Analytics stays blocked unless a visitor allows it. If allowed, the site sends a page title and path without the query string, plus standard technical, device, engagement, cookie, and analytics-identifier data. Tool input and output are not intentionally included.
Hosting logsVercel may process ordinary request information such as IP address, user agent, requested URL, timestamp, and security events when serving the site.
Offline cacheThe service worker keeps bounded caches for public pages and static assets. It skips page navigations that contain a query string. Visitors can remove these caches through browser site-data settings.
Selected filesThe hash tool reads a selected file into available browser memory with arrayBuffer. The current tool code does not intentionally submit selected file contents to FlipMyCase, but browser extensions and device software remain outside the site's control.
ClipboardCopy controls write only after a visitor activates them. Current tool code does not call clipboard read or readText methods; the browser can still apply permission and security rules.

For policy details and visitor choices, read the Privacy Policy and Cookie and Browser Storage Policy.

Run sampled implementation checks

This button runs seven fixed examples against exported functions already used by the site. Results stay in this page's React state. The runner does not call a network API, write to localStorage, select a file, or use the clipboard.

Samples have not been run in this page session.

Status and exact results for the user-triggered sample checks
CheckImplementationInputExpectedActualStatus
Uppercase conversiontoUpperCaseFlip my caseFLIP MY CASERun the samples to see this result.Not run
camelCase conversiontoCamelCaseFlip my caseflipMyCaseRun the samples to see this result.Not run
URL slug conversiontoSlug Hello, World! hello-worldRun the samples to see this result.Not run
MD5 reference vectormd5abc900150983cd24fb0d6963f7d28e17f72Run the samples to see this result.Not run
Markup removalstripMarkupTags<p>Hello <strong>world</strong>.</p>Hello world.Run the samples to see this result.Not run
HTML entity decodingdecodeHtmlEntitiesOnce&amp;lt; &copy; &#x1F600;&lt; © 😀Run the samples to see this result.Not run
Well-formed XML validationvalidateXml<root><item id="1">ok</item></root>No validation errorRun the samples to see this result.Not run

Engineering case study

Keeping file hashing byte-accurate

The Hash Generator reads a selected file once with arrayBuffer(), passes the resulting bytes to the MD5 implementation, and keeps a request-generation counter so an older file read cannot replace a newer result.

Repository regression tests exercise the MD5 implementation with an empty string,abc, an emoji, an exact raw-byte vector, and HMAC-MD5 reference vectors. The sample runner above intentionally exposes only the deterministic md5("abc")check; it does not open or inspect a visitor's file.

Limitations

  • The sample runner covers seven fixed function paths, not every tool, option, or interaction.
  • It does not test layout, keyboard behavior, assistive technology, performance, or network failures.
  • It is not a security, privacy, accessibility, or software-quality certification.
  • No cross-browser or cross-device conclusion should be drawn from one page session.
  • Implementation and storage behavior can change; the review date above identifies this snapshot.