// hello retard

I didn't send you this link.

Are you lost?

Your presence has been noted.

copy full report copy ip only
more tools
expand all / hide all
Text & Documents
Markdown Editor(local preview · export)
what this does — click to expand
Simple: Write Markdown, see a live preview, save a draft in this browser, export when needed.

Advanced: Local Markdown parser (headers, bold/italic, lists, http(s) links, code). Live preview. Optional localStorage draft (key md-brief-draft). Fullscreen preview when offered. Export via shared row (TXT/MD/RTF/PDF). Timestamp injection with timezone selector for export-oriented notes. Draft key md-brief-draft. Erase draft removes that key from localStorage (confirm). Session release / origin tools remain under Origin · Runtime · Blueprint.

Cannot: Sync to a server; replace a full offline editor suite. User text is HTML-escaped before limited markdown wrappers are applied so raw tags do not become live DOM; only the small built-in subset of markdown is recognized.

Likely errors: Empty source; draft key blocked by storage quota; export blocked by browser download settings. Fix: type some Markdown; free storage; allow downloads.

First principles: Markdown is plain text with light markup (e.g. # for headings, **bold**, lists, links). This tool is a local writer: you type source, a small in-page parser turns a safe subset into a preview, and you can save a draft only in this browser or export a file. Nothing is uploaded. HTML in your source is escaped so it cannot run as a page script.

How to use: Type in the source box → watch the preview → optional Insert timestamp (timezone selector) → Save draft / Load draft → export TXT/MD/RTF/PDF from the shared export row when ready. Erase draft removes the stored key after confirm. Fullscreen preview when offered.

Terms: Markdown — human-readable markup language. localStorage draft — text kept under key md-brief-draft on this origin only. HTML-escaped — special characters turned into safe text so tags do not become live DOM. Subset parser — only the features this page implements (not every Markdown flavor).
[Markdown Cheat Sheet]
SMS · Notify Field Extractor
what this does — click to expand
Simple: Pull common structured bits from pasted SMS or notification text (codes, amounts, flight-like tokens, phone numbers).

Advanced: Pattern pass for OTP-like codes, currency amounts, PNR/flight-like tokens, URLs, phones. Local regex only — not a carrier feed.

Cannot: Access your SIM or SMS database; decrypt messenger apps; guarantee every language template.

Likely errors: Empty paste; no patterns matched. Fix: paste raw message text.

First principles: Automated SMS often embeds fixed-shape fields; extraction is pattern matching, not understanding.

How to use: Paste one or many messages → Extract.

Terms: OTP — one-time passcode. PNR — passenger name record style token.

Works with: Markdown Editor.
URL Clean + Investigate
what this does — click to expand
Simple: Paste a URL. Strip common trackers or break it into host, path, query, and other parts.

Advanced: Clean deletes common params (utm_*, gclid, fbclid, etc.). Investigate uses the browser URL parser (scheme, userinfo, host, port, path, query, fragment, IP-literal notes). Local string work only — does not fetch the URL.

Cannot: Expand arbitrary short links offline; show server response headers (use HTTP Response Header Inspector); bypass intentional obfuscation.

Likely errors: Invalid URL (missing scheme, bad characters). Fix: include https:// or a valid scheme.

First principles: A URL names how to reach a resource (scheme, host, path, query, fragment). Trackers are query parameters sites add so they can follow clicks across pages. Cleaning removes those parameters from the string you pasted; Investigate only parses the string with the browser URL API — it does not load the page.

How to use: Paste a full URL (include https://). Clean trackers strips common campaign params. Investigate lists scheme, host, path, query pairs, fragment, and related notes. For live response headers use HTTP Response Header Inspector; for DNS use DoH tools.

Terms: Scheme — e.g. https. Host — domain or IP. Query — the ?a=1&b=2 part. utm_* / gclid / fbclid — common tracking parameter names. Fragment — the #... part, not sent to the server in a normal navigation.
Redaction & Masking(Legal / Journalism)
what this does — click to expand
Simple: Hides private stuff (emails, phones, cards, etc.) in text you paste, so you can share notes more safely.

Advanced: Text area for source notes. Checkboxes: IPv4/IPv6, Emails, Phone Numbers, MAC Addresses, Crypto Wallets, Credit Cards (Luhn), SSNs, URLs. Custom keywords (comma-separated). Mask style select: [REDACTED] / █████ / ***. Button: Mask Data. Export: TXT, MD, RTF, PDF.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty notes; no category selected so nothing masks; custom keywords mistyped. Fix: paste text and tick at least one category or add keywords.

First principles: Redaction hides sensitive strings so a document can be shared with less risk of leaking identifiers. This tool runs pattern matchers (and optional custom keywords) on text you paste and replaces hits with a mask style you choose. It does not “know” true identity — it only matches shapes (emails, cards that pass Luhn, etc.).

How to use: Paste notes → tick the categories to mask → optional custom keywords → choose mask style → Mask Data → review output → export TXT/MD/RTF/PDF if needed. Always spot-check: false positives and missed variants are possible.

Terms: Luhn — checksum used on many credit-card numbers. Mask style — replacement text such as [REDACTED] or blocks. False positive — a match that was not actually sensitive. SSN-like — digit patterns that look like a Social Security number, not a government verification.
| Export:
Document Diff
what this does — click to expand
Simple: Shows what changed between two versions of a text (line or word).

Advanced: Original text area, Modified text area. Buttons: Compare Lines, Compare Words. Output shows textual delta only.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: One or both sides empty; inputs identical so the delta is empty. Fix: paste two versions to compare.

First principles: A document diff shows what changed between two versions of text. Line mode compares whole lines; word mode highlights finer token changes. This is local string comparison, not a legal “document authenticity” proof.

How to use: Paste original and modified text → Compare Lines or Compare Words → read the delta in the output box. Export if you need a record.

Terms: Delta — the set of differences. Line diff — change unit is a full line. Word diff — change unit is a word/token.
Line Diff(two boxes)
what this does — click to expand
Simple: Paste two texts; see which lines were removed, added, or kept.

Advanced: Line-split on newlines; Myers-style longest-common-subsequence diff for lines (not words). Local only.

Cannot: Semantic/word-level merge; huge files without memory cost.

Likely errors: Empty original or modified box; very large pastes may be slow. Fix: paste both sides; try a smaller sample if the tab stalls.

First principles: Line diff splits each box on newlines and computes which lines were removed, added, or kept (Myers-style longest common subsequence idea). Best when you care about whole-line edits, not word-level polish.

How to use: Paste original in the first box, modified in the second → Diff lines → review marked output.

Terms: LCS — longest common subsequence used to align lines. Removed / added / kept — labels for lines present only in A, only in B, or in both.
Bulk Entity Extractor(IPs, Emails, Phones, MACs, Crypto, CC, SSN, URLs)
what this does — click to expand
Simple: Pulls out IPs, emails, phones, and similar clues from a big paste of text.

Advanced: Paste area for logs/headers/dumps. Button: Extract Indicators. Pulls IPs, emails, phones, MACs, wallets, CC (Luhn), SSN-like, URLs.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty input; very large pastes may be slow. Fix: paste source text; try a smaller sample if the tab stalls.

First principles: Entity extraction pulls structured-looking strings (IPs, emails, phones, MACs, wallets, cards, SSN-like, URLs) out of messy logs so you can inventory indicators without reading every line by hand. Patterns are heuristic, not ground truth.

How to use: Paste logs or dumps → Extract Indicators (or parse access/syslog lines when offered) → copy or export the list. Cross-check important hits.

Terms: Indicator — a string that may identify a host, person, or account. Luhn — card checksum filter. Heuristic — best-effort pattern, can miss or over-match.
User-Agent Analyzer
what this does — click to expand
Simple: Explains what browser/device a User-Agent string claims to be.

Advanced: User-Agent string field. Button: Analyze UA. Heuristic OS/browser token parse (spoofable).



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty UA string; unusual token layout yields sparse fields. Fix: paste a full User-Agent line.

First principles: A User-Agent string is a self-reported label a browser or client sends. Parsing tokens guesses OS/browser family. Clients can spoof it freely, so it is a claim, not proof of the real device.

How to use: Paste the UA string → Analyze → read the token breakdown.

Terms: User-Agent (UA) — HTTP header value naming the client. Token — a slash- or space-separated fragment inside the UA. Spoof — deliberately fake UA.
Text De-formatter(Strips HTML, normalizes quotes/spaces)
what this does — click to expand
Simple: Cleans messy copied text (weird quotes, extra spaces, HTML junk).

Advanced: Input text area. Buttons/actions for strip HTML, normalize whitespace/quotes (as labeled in UI).



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty input; nothing left after strip rules. Fix: paste text; relax options if over-stripped.

First principles: Copied text often carries HTML tags, curly quotes, or odd spaces from web pages and documents. De-formatting normalizes that into plain, readable text without changing meaning on purpose.

How to use: Paste dirty text → Clean Text → copy the cleaned output.

Terms: HTML strip — remove tags. Normalize whitespace — collapse odd spaces/newlines. Smart quotes — curly quote characters often converted toward straight quotes.
Line & List Text
what this does — click to expand
Simple: Turn line-based lists into one line (or the reverse kinds of join), strip or replace line breaks, and add the same prefix/suffix or line numbers on every line.

Advanced: Works entirely in the page on the text you paste. Join lines with commas, spaces, or a custom separator. Remove breaks (to space / nothing / custom). Prefix/suffix each non-empty line. Optional line numbers (0-based or 1-based, optional zero-pad width). Does not call a network service.

Cannot: Infer complex paragraph semantics of every document format; replace a full spreadsheet.

Likely errors: Empty input. Fix: paste text first.

First principles: Line tools reshape lists: join lines into one string, strip breaks, or prefix/suffix/number each line. Useful when moving between spreadsheets, configs, and prose.

How to use: Paste one item per line → pick a join or affix action → optional custom separator / prefix text / number options → read output.

Terms: Join — combine lines with a separator. Affix — prefix or suffix on each non-empty line. Zero-pad — leading zeros so numbers sort as text.
Find & Replace Text
what this does — click to expand
Simple: Replace every occurrence of one string with another in the paste box.

Advanced: Literal find/replace (not regex unless you enable the regex option). Optional case-insensitive match for literal mode. Shows how many replacements ran. All local.

Cannot: Multi-file project refactor; guarantee regex safety on hostile patterns (catastrophic backtracking possible if regex is enabled on huge input).

Likely errors: Empty find string; invalid regex when regex mode is on. Fix: provide a find string; simplify the pattern.

First principles: Find-and-replace substitutes every match of a string (or regex, if enabled) with another. Literal mode is safest; regex is powerful but can freeze the tab on pathological patterns against huge input.

How to use: Paste source → enter Find and Replace with → optional case-insensitive or RegExp → Replace → check the count and output.

Terms: Literal — exact character match. RegExp — regular expression pattern language. Case-insensitive — ignore upper/lower difference in literal mode.
Punycode (IDN)
what this does — click to expand
Simple: Convert international domain labels between Unicode and the ASCII xn-- form used in DNS.

Advanced: Encode/decode each dot-separated label with a local Punycode (RFC 3492) implementation. Paste a domain or a single label. No network lookup—conversion only.

Cannot: Register domains; resolve DNS; fix every Unicode normalization edge case the same as every registrar.

Likely errors: Empty input; malformed punycode label. Fix: paste a domain or xn-- label.

First principles: DNS historically used ASCII. International domain labels are stored as Punycode (xn--...) so the DNS system stays ASCII-compatible. This tool converts labels between Unicode and that ASCII form locally — it does not register or resolve domains.

How to use: Paste a domain or label → To ASCII (Punycode) or To Unicode → copy the result.

Terms: IDN — Internationalized Domain Name. Punycode — encoding defined in RFC 3492. Label — one dot-separated piece of a domain.
String Metrics(Live count)
what this does — click to expand
Simple: Live counts: words, characters, lines, reading time, rough token size, and readability scores (Flesch Reading Ease, Flesch–Kincaid grade).

Advanced: On each input: chars (with/without spaces), words, lines, paragraphs, sentences (heuristic), reading time at ~200/250 wpm. Token estimates are not official model tokenizers — rules of thumb only: chars/4 (common GPT-style approx), chars/3.5, words×1.3. Readability uses syllable heuristics (not a linguistic parser): Flesch Reading Ease and Flesch–Kincaid Grade Level. Real BPE/WordPiece counts and published readability tools can differ.

Cannot: Match a vendor tokenizer exactly; measure true comprehension time; certify grade level for formal assessment.

Likely errors: Empty input. Fix: paste text to measure.

First principles: String metrics count characters, words, lines, and rough reading time, and estimate “tokens” and readability with simple formulas. They are approximate aids for writers — not official model tokenizers or formal grade certification.

How to use: Type or paste text → read live counts in the output (updates as you type).

Terms: Token estimate — rough LLM-oriented size (e.g. chars/4), not a vendor tokenizer. Flesch — readability scores from syllable/word/sentence heuristics. WPM — words per minute assumption for reading time.
Words: 0
Morse · Binary · Hex
what this does — click to expand
Simple: Convert text to Morse, binary, or hex and back where the mapping is unambiguous.

Advanced: ITU-ish Morse for A–Z, 0–9, and common punctuation; unknown characters become ? . Binary/hex are UTF-8 byte oriented for encode; decode expects clean binary (8-bit groups) or hex pairs. Not a radio modem — no audio tone keying required (optional beep out of scope unless already available).

Cannot: Full prosign/procedural Morse sets; recover text from lossy Morse with missing spaces.

Likely errors: Empty text yields zeroes. Fix: type or paste content to measure.

First principles: Morse code maps characters to dots and dashes; binary and hex are ways to write the underlying bytes of text. Encode goes text → representation; decode goes back when the input is clean and unambiguous.

How to use: Paste text or coded input → choose → Morse / Binary / Hex (or the reverse buttons) → read output. Unknown Morse characters may become ?.

Terms: ITU Morse — common international mapping for letters/digits. UTF-8 — byte encoding used for binary/hex text paths. Hex pair — two hex digits = one byte.
Case Converter
what this does — click to expand
Simple: Switches text between UPPER, lower, Title Case, etc.

Advanced: Text input. Case targets as offered in UI (upper/lower/title/etc.).



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty input. Fix: paste text to convert case.

First principles: Case conversion changes letter casing without changing the words themselves: all caps, all lower, or title case for display consistency.

How to use: Enter text → press UPPER, lower, or Title Case → copy output.

Terms: Title Case — capitalizes major word starts (simple rule-based, not publisher style guides). Code point — a Unicode character value; casing rules depend on the language/script.
Special Characters · Invisible · Symbols
what this does — click to expand
Simple: One-tap copy for newlines, zero-width characters, dashes, and fun text symbols.

Advanced — can: Clipboard write on click; shows codepoint; professional separators vs decorative emoji section.



Cannot: Insert into other apps automatically (paste yourself); guarantee every emoji renders on every OS font.

Likely errors: Empty input. Fix: enter text before converting case.

First principles: Some characters are invisible (zero-width, special spaces) or awkward to type (dashes, symbols). This panel lists common ones as one-tap clipboard chips so you can paste them elsewhere.

How to use: Click a chip in Invisible, Punctuation, or Decorative sections → paste into your target app. Output line confirms what was copied.

Terms: Zero-width — characters that take no visible space but still exist in the string. Codepoint — Unicode identity of a character. Clipboard — the OS paste buffer (requires permission in some browsers).
Invisible / control (click to copy)
Useful punctuation
Decorative / emoji (not for legal filings)
Click a chip to copy.
JSON Prettifier / Minifier
what this does — click to expand
Simple: Makes JSON readable or compresses it to one line.

Advanced: JSON text area. Buttons: Prettify, Minify (JSON.parse/stringify).



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Clipboard API denied or non-secure context. Fix: use HTTPS/localhost; allow clipboard if prompted.

First principles: JSON is a structured data text format. Prettify adds indentation for humans; minify removes needless whitespace for size. Both use the browser JSON parser — invalid JSON is rejected rather than silently “fixed.”

How to use: Paste JSON → Format JSON or Minify JSON → copy from the output.

Terms: JSON — JavaScript Object Notation. Parse — turn text into a structured value. Stringify — turn a value back into text.
            
N-Gram / Frequency Analyzer(Cryptanalysis / Stylometry)
what this does — click to expand
Simple: Shows which letters/words show up most — useful for simple cipher puzzles.

Advanced: Text/ciphertext area. N size control as labeled. Builds frequency tables for classical analysis.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Invalid JSON (trailing commas, single quotes, etc.). Fix: correct syntax or paste a valid JSON document.

First principles: N-grams are sequences of N items (characters or words). Frequency tables show what repeats — a classic step in simple cipher analysis and stylometry. This is counting, not decryption by itself.

How to use: Paste text or ciphertext → choose 1-gram / 2-gram / 3-gram / word frequency → Analyze → read the frequency table.

Terms: 1-gram — single characters. Bigram / trigram — pairs / triples. Stylometry — studying writing habits via statistics. Ciphertext — encrypted or encoded text under analysis.
Regex Tester (match · groups · replace)
what this does — click to expand
Simple: Paste text and a regular expression. See matches, capture groups, and optional replace — all on this device.

Advanced: JavaScript RegExp with flags you choose (g, i, m, s, u). Match list with offsets; named/numbered groups when present; replace uses the same pattern. Catastrophic backtracking can freeze the tab on pathological patterns against long input — keep patterns simple or test on short samples first.

Cannot: Run non-JS regex dialects (PCRE, .NET) exactly; guarantee non-freezing on adversarial patterns; replace a full IDE regex debugger.

Likely errors: Invalid pattern (syntax error shown); no matches; empty fields. Fix: check pattern syntax; try a shorter sample.

First principles: Regular expressions are a pattern language for searching and replacing text. This lab runs JavaScript RegExp in your browser: match list, groups, and optional replace — all local. Pathological patterns on huge input can freeze the tab.

How to use: Paste text → enter pattern and flags → optional replace string → Test / Match or Replace. Start with short samples when testing complex patterns.

Terms: Flags — e.g. g (global), i (ignore case), m (multiline). Capture group — parenthesized part of a match, referenced as $1 or named groups. Catastrophic backtracking — regex that explores too many paths and hangs.
Unicode Security Inspector
what this does — click to expand
Simple: Look for hidden or confusing characters in pasted text (zero-width, mixed scripts, odd spaces).

Advanced: Flags controls, bidi marks, ZW*/BOM-class code points, mixed Latin+Cyrillic, NFC/NFD differences. Heuristic only — not the full Unicode confusables list (UTS #39).

Cannot: Prove phishing intent; ship the entire Unicode confusable database in this file.

Likely errors: Empty input. Fix: paste the text or domain to inspect.

First principles: Unicode can hide confusing characters: zero-width joiners, mixed scripts (Latin look-alikes next to Cyrillic), odd spaces, bidi marks. Attackers use these in phishing domains and paste text. This inspector flags suspicious code points heuristically — it is not the full UTS #39 confusables database.

How to use: Paste text or a domain → Inspect → read flagged controls, mixed scripts, and normalization notes.

Terms: ZW* — zero-width family of characters. Bidi — bidirectional text controls. NFC/NFD — Unicode normalization forms. Confusable — characters that look alike across scripts.
Secret · Credential Scanner (local)
what this does — click to expand
Simple: Scan pasted text or a local file for password-shaped and key-shaped strings. Nothing is sent to a server.

Advanced: Regex heuristics (PEM headers, AWS-like ids, Bearer, JWT-shaped, assignment patterns, some vendor token shapes). Spans reported with offsets.

Cannot: Confirm a secret is live; replace enterprise secret scanners; avoid false positives on random high-entropy text.

Likely errors: Empty input; no patterns matched (not proof of safety); false positives. Fix: provide text/file; treat hits as leads only.

First principles: Secret scanning looks for password- and key-shaped strings (PEM headers, AWS-like ids, Bearer tokens, JWT-shaped, assignment patterns) in text or a local file. Hits are leads, not proof a credential is live. Everything stays on device.

How to use: Paste text and/or choose a file → Scan → review spans and types. Treat results as triage only; rotate anything real that was exposed.

Terms: PEM — text encoding of keys/certs with BEGIN/END lines. JWT — three base64url segments of a token. High-entropy — random-looking strings that may false-positive. Span — start/end offset of a hit.
Photos, Video & Audio
Canvas Image Inspector & Loupe(Apply filters & magnify locally)
what this does — click to expand
Simple: Zoom and adjust brightness/contrast on a photo in the browser.

Advanced: Image file picker. Sliders: Brightness, Contrast, Invert. Loupe/magnifier on the canvas preview.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Images are grids of pixels. Brightness/contrast/invert are simple channel math; a loupe magnifies a region under the cursor; Sobel emphasizes edges; ELA-style maps can hint at compression inconsistencies. All processing stays in this tab’s canvas — no upload.

How to use: Choose an image → adjust sliders → optional Sobel/ELA/Reset → move over the preview for the loupe. Large images may stress memory.

Terms: Canvas — browser drawing surface for pixels. Sobel — edge-detection filter. ELA — error level analysis heuristic for JPEG-like recompression differences. Loupe — magnified circular view of the pointer area.
Raw EXIF String Dumper(Memory scans JPEG FFE1 headers)
what this does — click to expand
Simple: Digs metadata text out of JPEGs (camera, dates, sometimes GPS).

Advanced: JPEG file picker. Scans APP1 near the start of the file (first ~4 MB prefix — EXIF lives before SOS in normal JPEGs). Prints printable metadata strings and raw APP1 hex for segments found in that prefix. Not a full TIFF-IFD field decoder.

Cannot: Guarantee rare trailing APP1 past the scanned prefix; replace exiftool-class field decoding; invent GPS that was never embedded.

Likely errors: Not a JPEG; no APP1 in the scanned prefix; truncated download. Fix: use a real JPG; if a lab tool shows EXIF and this does not, the segment may be unusual or the file truncated.

First principles: JPEG files can embed APP1 metadata (EXIF/XMP) with camera, time, and sometimes GPS. This tool scans those segments for printable strings and can show raw APP1 hex. It does not claim complete EXIF field decoding like a desktop lab suite.

How to use: Select a JPG/JPEG → read printable strings and hex dump in the output. Absence of GPS does not prove the photo was stripped elsewhere.

Terms: EXIF — common image metadata format. APP1 — JPEG marker segment often holding EXIF. XMP — XML packet metadata. Printable string — bytes that look like text in the scan.
Select a JPG/JPEG to scan for hidden strings...
AI / Generator Marker Scan(Metadata · C2PA presence · Strings)
what this does — click to expand
Simple: Looks inside an image or video file for text and structures that often mean "made or edited by a generator / Content Credentials," not for secret invisible watermarks.

Advanced — can (all major browsers with FileReader): Scan file bytes for generator-related phrases (EXIF/XMP/PNG text style), PNG tEXt/iTXt/zTXt keyword hits, JPEG COM-ish regions, and heuristic C2PA / JUMBF / c2pa presence markers; optional short printable-string dump around hits. Works on image and many video containers as raw bytes.

Browsers: Safari iPhone and Chrome desktop — same byte scan (no Chrome-only API).



Cannot:
  • Read Google SynthID (or similar) invisible pixel watermarks — those need vendor detectors/models, not available here.
  • Fully verify C2PA cryptographic trust chains / signer identity like a lab validator.
  • Prove a file is or is not AI-generated; absence of markers means nothing by itself.
  • Decrypt DRM or proprietary sidecar databases outside the file.


Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Some generators write detectable phrases or structures into files (metadata, PNG text chunks, C2PA/JUMBF-related markers). This scan searches file bytes for those clues. Missing markers does not prove “not AI”; invisible watermark schemes (e.g. SynthID-class) need vendor tools not present here.

How to use: Select image or video file → Scan Markers → read hits and nearby strings. Treat as triage signals only.

Terms: C2PA — Content Credentials standard. JUMBF — JPEG Universal Metadata Box Format container often used with C2PA. tEXt/iTXt/zTXt — PNG textual chunk types. Heuristic — pattern search, not cryptographic proof of authorship.
Select an image or video file…
Color Converter & Square Gen + K-means Palette
what this does — click to expand
Simple: Convert colors and pull a color palette from an image.

Advanced: Color text input (hex/rgb). Buttons for convert and generate color square image. Image picker + K-means palette extraction controls as shown.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Colors can be written as hex, RGB, and other notations. A palette extractor clusters image colors (k-means style) so you can see dominant tones. Square generation builds a simple solid color image for download.

How to use: Type a color → Convert / Download square; or pick an image → K-means palette → inspect swatches.

Terms: Hex color — e.g. #00FF9D. RGB — red/green/blue channels 0–255. K-means — clustering algorithm that groups similar pixel colors into K representative colors.
Or extract palette from image:
Local Media Converter(Pure Browser Engine)
what this does — click to expand
Simple: Convert images or extract audio to common formats in-browser.

Advanced: Category select: Image Engine / Audio. File picker (accept changes with category). Image format select when in image mode. Converts via canvas or Web Audio→WAV.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Browsers can re-encode images via canvas and decode many audio files to uncompressed WAV via Web Audio. This is a convenience path, not a full ffmpeg replacement — codecs and size limits follow what the browser can decode.

How to use: Choose Image or Audio category → pick a file → choose target format when offered → Convert & Download.

Terms: Canvas encode — draw image then export PNG/JPEG/WebP. WAV — uncompressed audio container. Decode — turn a compressed file into raw samples the page can handle.
To:
Local Steganography(Hide/Reveal Text in Image via LSB)
what this does — click to expand
Simple: Hide text inside a picture's pixels, or try to read that hidden text back out.

Advanced — can: Image picker (png/jpeg/webp); text area; Hide Text & Download PNG (LSB in RGB, length-prefixed payload); Reveal Hidden Text into the text area. All local.



Cannot: Encrypt the payload (anyone who knows LSB stego can try to extract it); survive heavy recompression/resize/social-app re-encode; guarantee capacity for huge texts on small images; hide in video/audio.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: LSB steganography hides message bits in the least significant bits of pixel color channels. Anyone who knows the method can try to extract it; heavy recompression often destroys the payload. Not encryption.

How to use: Pick PNG/JPEG/WebP → enter secret text → Hide Text & Download PNG; or load an encoded image → Reveal Hidden Text. Capacity depends on image size.

Terms: LSB — least significant bit. Payload — the hidden message bytes. Length-prefixed — payload size stored so reveal knows how many bits to read. Recompression — saving again (especially JPEG) can wipe LSBs.
Select an image and enter text to hide, or select an encoded PNG to reveal.
Forensic Image Difference Comparator
what this does — click to expand
Simple: Compares two pictures and highlights where they differ.

Advanced: Two image file pickers (A/B). Compare control highlights pixel differences (assumes aligned images).



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Pixel-aligned image comparison overlays two pictures so differences stand out. Useful when you expect the same framing (before/after). Misaligned shots will show mostly false differences.

How to use: Load image A and B → adjust opacity → view overlay. Clear overlay when done.

Terms: Opacity — how strongly the second image shows through. Aligned — same dimensions and viewpoint so pixels correspond.
Native Barcode & QR Code Inspector
what this does — click to expand
Simple: Reads QR/barcodes from an image when the browser supports it.

Advanced — can: Image file picker; BarcodeDetector with common formats (QR, Aztec, PDF417, UPC/EAN, Code128/39, etc.) when the API exists.



Cannot: Run where BarcodeDetector is missing (many Safari versions); decode damaged codes better than the OS API; batch enterprise scanning workflows.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Barcodes and QR codes encode text in geometric patterns. When the browser exposes BarcodeDetector, this tool asks it to decode an image file. Support varies by browser (often weaker on some Safari versions).

How to use: Upload an image containing a code → read decoded text if the API is available. Otherwise use a photo + another device’s camera tool.

Terms: BarcodeDetector — browser API for symbologies like QR, Aztec, PDF417, EAN/UPC, Code128. Symbology — barcode family/format.
Upload image containing QR / barcode...
QR Code Generator (canvas · PNG · air-gap)
what this does — click to expand
Simple: Puts short text on screen as a QR so another phone or computer can read it with a camera (no USB). Best for a link, a hash, or a brief note. Take it with you by photographing or screenshotting the canvas, or Save PNG.

What usually works: HTTPS URLs; SHA-256 / other hashes; short verification lines; a few dozen characters of plain text; anything that stays under roughly ~17 data bytes (QR version 1) (non-English characters use more than one byte each).

What usually fails or is a bad fit: Whole HTML pages; long JSON or evidence packages; multi-paragraph notes; splitting one big file across many QR frames (this tool draws one still code only). Blurry photos of the screen are harder to read because error correction is the lightest level (ECC L).

Advanced: In-page encoder only (no network, no external QR library). Byte mode; ECC L; version 1 only (ECC L, mask 0, with format information). Output is the canvas on this panel; Save PNG downloads that image locally (no network). To read a code back, use Native Barcode & QR Code Inspector or Live QR / Barcode from Camera (Photos, Video & Audio)—often on a second device for air-gap style transfer.

Cannot: Replace a full commercial QR stack; guarantee every scanner app accepts every edge case; carry large payloads; animate or chain multiple frames.

Likely errors: Empty input; "text too long" / capacity error when over the built-in limit; Save PNG before Generate; download blocked by the browser. Fix: shorten to a URL or hash, or move large data with Download · Copy This Page / a file share instead of QR; Generate first, then Save PNG or photograph the canvas.

First principles: QR codes pack a small amount of data into a square module grid a camera can read. This generator builds a version-1 style code in-page (tight capacity) for air-gap hand-off of short strings — URLs, hashes, brief notes — not whole files.

How to use: Type short text → Generate QR → photograph or Save PNG. If text is too long, shorten or use file transfer instead.

Terms: Version 1 — smallest QR size; limited bytes. ECC L — lowest error correction level used here. Air-gap — transfer without a network link, e.g. show code to another camera.
Audio Forensics Suite(BPM · Silence · Clip · Pitch · Stereo · Diff · Channels)
what this does — click to expand
Simple: Measure loudness, clipping, gaps, and compare two recordings in the browser.

Advanced — can: Primary/optional secondary audio files; Web Audio metrics (RMS, clipping, gaps, spectral/BPM-style heuristics, A/B compare); channel extract downloads when offered.



Cannot: Electrical network frequency (ENF) lab authentication; prove a specific editor or tool; lossless recovery of deleted edits; overcome browser codec limits.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Audio forensics metrics (RMS, clipping, gaps, rough spectral/BPM heuristics, channel extract, A/B compare) help triage recordings in-browser. They do not prove which editor was used or recover deleted material like a lab ENF analysis would.

How to use: Load primary audio (optional second for A/B) → Analyze / extract L/R/Mid/Side / Diff → read metrics and optional canvas.

Terms: RMS — root-mean-square level. Clipping — samples stuck at maximum, distorted. Mid/Side — stereo sum/difference channels. BPM heuristic — tempo-like estimate, not a studio beat grid.
Optional second file for A/B correlation:
Upload audio then hit Analyze (or just select a file).
DTMF Tone Decoder (audio file)
what this does — click to expand
Simple: Load an audio recording and try to read phone keypad tones into digits.

Advanced: Decode audio with Web Audio; Goertzel energy at standard DTMF low/high frequency pairs over short windows; debounce repeated hits. Works best on clean, loud tones.

Cannot: Recover numbers from encrypted VoIP without audio; match lab telephony analyzers on noisy or overlapping speech; support every codec every browser can play.

Likely errors: No file; codec not decodable here; no tones found (silence, noise, or wrong format); long files stress memory. Fix: WAV/short clip with clear tones; try another export format.

First principles: DTMF is the dual-tone keypad system used on phone lines. Decoding estimates which keypad digits were present by measuring energy at standard frequency pairs (Goertzel-style). Works best on clean, loud tones.

How to use: Load an audio file with keypad tones → Decode DTMF → read digit sequence. Noisy speech-over-DTMF may miss digits.

Terms: DTMF — Dual-Tone Multi-Frequency. Goertzel — efficient detector for known frequencies. Debounce — ignore rapid repeated hits of the same digit.
Image Channels · Histogram · Bit Planes
what this does — click to expand
Simple: Split a photo into color layers or bit planes to spot odd edits.

Advanced: Image file picker. Mode controls for R/G/B/luma channels, histogram, and bit-plane index select. Renders to canvas.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Splitting an image into R/G/B/A or bit planes can reveal edits, overlays, or hidden structure in low bits. A histogram shows how often each brightness occurs. Educational and triage use — not automatic forgery conviction.

How to use: Load image → press R/G/B/A/Histogram or choose a bit plane → view canvas output.

Terms: Channel — one color or alpha component. Bit plane — all pixels’ bit N (0 = LSB). Histogram — counts of values across the image. Luma — brightness-related combination of channels.
Video Forensics(Frames · Scene Change · Contact Sheet · Frame Hashes)
what this does — click to expand
Simple: Sample frames, look for scene cuts/freezes, contact sheets, frame hashes — for triage, not a full lab suite.

Advanced — can: Video file picker; frame grab; scene-change scan; contact sheet; per-frame hash timeline; freeze detection via decoded-frame sampling in the browser.



Cannot: Full container/bitstream forensics; reliable deepfake detection; codec-level proof of splice; process arbitrary huge files without memory pressure.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Video triage samples decoded frames in the browser: grab frames, rough scene-change/freeze detection, contact sheets, frame hashes. It is not a full container/bitstream lab and not a deepfake detector.

How to use: Load a video → Metadata / Extract Frames / Scene Changes / Contact Sheet / Frame Hash Timeline / Find Freezes → review outputs; fullscreen review when offered. Huge files may exhaust memory.

Terms: Scene change — large visual difference between sampled frames. Contact sheet — grid of stills. Frame hash — digest of frame pixels for timeline comparison. Freeze — near-identical consecutive samples.
Image Authenticity Assist(Clone Scan · Quant Tables · Thumbnail · PPI)
what this does — click to expand
Simple: Extra checks that sometimes hint at copy-paste edits, JPEG tables, or thumbnails — signals, not a verdict.

Advanced — can: Image file input; clone/block-correlation style heuristic; JPEG DQT dump when present; embedded JPEG thumbnail extract; PPI / print-size helper as labeled in the UI.



Cannot: Prove who authored or edited an image; replace a forensic lab; detect all modern AI/generative fakes; stand alone as court proof of authenticity.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: Authenticity assists (clone-region heuristics, JPEG quantization tables, embedded thumbnail vs full image, print-size/PPI helpers) are signals that sometimes accompany edits. None alone proves authorship or court-ready authenticity.

How to use: Load image → run Clone Scan / Quant Tables / Thumbnail vs Full / Print Size as needed → interpret cautiously with other evidence.

Terms: Clone scan — looks for repeated blocks. DQT — JPEG quantization tables. PPI — pixels per inch for print-size estimates. Embedded thumbnail — smaller preview stored inside some JPEGs.
target PPI for print-size
Audio Edit-Point & Annotated Timeline
what this does — click to expand
Simple: Marks sudden loud/quiet changes and silence gaps on a timeline.

Advanced — can: Audio file input; energy-ratio onset/offset and silence gap heuristics; annotated timeline output.



Cannot: Definitive splice proof; detect all seamless modern edits; replace spectrogram expert review.

Likely errors: No file chosen; unsupported or corrupt media; browser cannot decode that codec/container. Very large inputs may slow, hang, or crash this tab (memory). Fix: try another file/format; reread [?]; use a native tool if this environment cannot finish.

First principles: An edit-point timeline marks sudden energy changes and silence gaps that sometimes align with cuts. Seamless modern edits may leave no obvious energy cliff. Aid for listening review, not definitive splice proof.

How to use: Load audio → Analyze Edit Points + Timeline → read annotated gaps/onsets.

Terms: Onset — sudden rise in energy. Silence gap — region below a threshold. Heuristic — threshold-based, sensitive to noise floor and compression.
Files & Evidence
Forensic File Manifest Cataloger(Chain of Custody)
what this does — click to expand
Simple: Hash many files into a list you can save for your records.

Advanced — can: Multi-file picker; batch SHA-256; timestamped manifest-style export text.



Cannot: Bind hashes to sealed evidence bags or external LIMS; prove custody events that happened offline.

Likely errors: No files selected; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: A hash is a fixed-size fingerprint of file bytes. SHA-256 is widely used so two identical files match and any change flips the digest. A manifest lists filenames with hashes for chain-of-custody style notes — local only, not a sealed evidence bag.

How to use: Select one or more files → Generate SHA-256 Manifest → export TXT/MD/RTF/PDF if needed.

Terms: SHA-256 — 256-bit cryptographic hash. Manifest — inventory of names + digests. Chain of custody — record of who held evidence when (this tool is a personal helper, not court CMS).
Export:
Evidence Package (build · verify)
what this does — click to expand
Simple: Build stitches selected text sources into one downloadable note. Verify checks SHA-256 lines in a package against files you select. Build only reads those sources; it does not change them.

Advanced: Build can include Markdown Editor source, Personal Chain-of-Custody Log output, and Forensic File Manifest Cataloger output when ticked. Verify parses SHA-256 (name): hex and simple name hex lines; hashes each file with Web Crypto; reports match / mismatch / missing / extra. Composite under cross-panel composition: jumps below open the source panels. Running Build or Verify writes only to this panel's outputs.

Cannot: Court-grade CMS/PKCS7 seals; invent files that were not provided; true multi-binary ZIP packages in the simple builder mode; alter the Markdown, custody, or manifest panels as a side effect.

Likely errors: Nothing ticked or all empty on build; no hash lines in pasted text; no files selected for verify; name in manifest does not match file name. Fix: include content before build; use exact file names from the manifest.

First principles: An evidence package stitches selected text sources (markdown, custody log, manifest) into one downloadable note, or verifies SHA-256 lines against files you pick. Build only reads sources; it does not rewrite them.

How to use: Tick sources → Build package TXT; or paste package text + select files → Verify. Use in-page jumps to open source panels.

Terms: Verify — recompute hashes and compare to listed digests. Match / mismatch / missing / extra — verification outcomes. Composition — tool that reads other panels without altering them.
Sources (open panel — Build only reads; does not clear or rewrite them)
Build
Verify
File Sanitize · Scramble · Overwrite(Metadata · Random · Zeros/Ones · Multi-pass)
what this does — click to expand
Simple: Strip photo metadata, or build same-size random/pattern files you can save and use when replacing data yourself.

Advanced — can: Mode select: metadata scrub (re-encode clean PNG via canvas); scramble (crypto-random same-size); overwrite 0x00 / 0xFF / 0x55 / 0xAA; multi-pass packs (3 or 7 sequential downloads); Hash Original Only (SHA-256); any file type for pattern modes; image required for metadata mode. No coded size cap (very large files may freeze/crash the tab). Uses unified Save links (multi-pass keeps one link per pass).



Cannot: Overwrite the original file's disk sectors from the browser; SSD/flash secure erase or TRIM; certified DoD/Gutmann in-place wipe; recover the original after scramble/overwrite.

Likely errors: No file chosen; unsupported image for metadata scrub; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: Browsers cannot securely erase the original disk sectors of a file you selected. This tool can re-encode a clean PNG (strip image metadata), or build same-size random/pattern downloads you may use when replacing data yourself. Multi-pass packs produce multiple download files.

How to use: Select file → choose mode (metadata scrub / scramble / overwrite patterns / multi-pass) → Run; optional Hash Original Only. Prefer native OS tools for multi-GB secure erase.

Terms: Metadata scrub — redraw image without EXIF. Scramble — crypto-random bytes, same length. Multi-pass pack — sequential pattern files (not in-place disk wipe). TRIM — SSD behavior outside browser control.
See [?] for memory risk on very large files.
No file selected.
Dual-Hash File Verify(Claimed hash vs file)
what this does — click to expand
Simple: Check whether a file's SHA-256 matches a fingerprint you paste.

Advanced — can: File picker; expected SHA-256 hex; Verify → match/mismatch of digest only.



Cannot: Prove who created the file, when, or that the content is truthful; replace institutional evidence systems.

Likely errors: No file; claimed hash missing or wrong length; mismatch is informative, not a diagnosis of cause. Very large files may stress this tab. Fix: paste a full hex digest; confirm algorithm matches the claim.

First principles: Verifying a file means computing its hash and comparing to a claimed fingerprint. A match means the bytes agree with that digest — not who authored the file or that the content is true.

How to use: Select file → paste expected SHA-256 hex → Verify.

Terms: Digest — the hash output. Claimed hash — the value you were given to check against.
Bit-Identical File Compare
what this does — click to expand
Simple: Are two files exactly the same bytes?

Advanced: Two file pickers. Compares length and byte identity; reports first mismatch offset.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: One or both files missing; sizes differ (still comparable for prefix). Very large pairs may stress this tab. Fix: select two files; compare smaller samples if the environment struggles.

First principles: Bit-identical compare checks whether two files have the same length and every byte equal. First mismatch offset helps locate divergence.

How to use: Select file A and B → Compare Bytes.

Terms: Offset — byte index of first difference. Bit-identical — exact byte equality, not “looks the same.”
Personal Chain-of-Custody Log
what this does — click to expand
Simple: Personal browser log of hashed files and notes for your own working trail.

Advanced — can: Local custody entries (hashes/notes/times in localStorage); export/clear as labeled.



Cannot: Serve as an official court chain-of-custody system of record; resist a determined local tamperer; sync across devices without you exporting.

Likely errors: Empty fields; export blocked; storage quota if you persist notes. Fix: fill required rows; allow downloads; clear space if saving fails.

First principles: A personal custody log stores hashed file entries and notes in localStorage for your own working trail. It is not an official court chain-of-custody system and can be cleared or altered on this device.

How to use: Enter description → select file → Hash + Append Entry; export or Clear Log as needed.

Terms: localStorage — origin-scoped browser storage. Exhibit id — your label for an item. Append — add a new line without removing prior entries.
Export:
Exhibit Label & Pack Helper
what this does — click to expand
Simple: Make a labeled exhibit sheet with file hash.

Advanced: Exhibit ID, title, notes fields; optional file for content hash. Generates label text for binders.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty label fields; print/download blocked. Fix: complete the form; allow downloads or use the browser print dialog.

First principles: Exhibit labels are human-readable sheets (id, title, notes, optional content hash) for binders and working files. Helper text only — not a case-management system.

How to use: Fill id/title/notes → optional file for hash → Generate Label + Hash → export.

Terms: Exhibit — labeled item in a case file. Content hash — digest of the attached file bytes.
Export:
Case Timeline Builder
what this does — click to expand
Simple: List events in order for your case story.

Advanced: Event when/what fields, add/sort/clear. Sorted timeline in localStorage.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Missing when/what. Fix: fill the when and what fields.

First principles: A case timeline orders events you enter (when / what / source) so the story is easier to review. Sorting is textual/chronological best-effort on what you typed.

How to use: Add events → Sort → export; Clear wipes the list (confirm).

Terms: ISO date — sortable date form like 2026-08-09. Source ref — exhibit or document pointer.
Export:
Checksum / CRC Helpers
what this does — click to expand
Simple: Check if hex data matches common checksums.

Advanced: Hex payload input. Checksum mode selects (IP/TCP/UDP/CRC-32 as labeled). Pseudo-header fields where required.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty events; unsortable dates. Fix: add events with clear when/what values.

First principles: Checksums detect accidental corruption in headers and payloads (IP/TCP/UDP checksums, CRC-32). They are not cryptographic authenticity proofs. Pseudo-header fields matter for TCP/UDP calculations.

How to use: Paste hex bytes → optional src/dst IP for transport checksums → press the checksum button you need.

Terms: CRC — cyclic redundancy check. Pseudo-header — IP addresses/protocol/length included in TCP/UDP checksum math. Hex payload — bytes written as hexadecimal.
VIN Check Digit (ISO 3779 style)
what this does — click to expand
Simple: Check whether a 17-character VIN's 9th character matches the standard check-digit math (widely used in North America).

Advanced: Transliteration + positional weights (ISO 3779-style). Fully offline — no manufacturer or registration lookup.

Cannot: Prove the vehicle exists; decode make/model without WMI tables; cover every non-standard regional VIN scheme.

Likely errors: Length ≠ 17; characters I, O, or Q; other illegal characters. Fix: use a full 17-character VIN without spaces.

First principles: A VIN is a 17-character vehicle identifier. North American style uses a check digit (position 9) from ISO 3779-style weights and transliteration. This validates the math only — not whether the vehicle exists.

How to use: Paste 17-character VIN → Validate. Reject I, O, Q and wrong length.

Terms: VIN — Vehicle Identification Number. Check digit — character computed from the others. WMI — world manufacturer identifier (not decoded in depth here).
Passwords & Encryption
Random · Password · Passphrase
what this does — click to expand
Simple: Generate random bytes, judge a password's shape, or build a short passphrase — stays on this device.

Advanced: crypto.getRandomValues → hex/Base64; password heuristics (length, classes, repeats, sequences, rough entropy); small local word list for demo passphrases.

Cannot: Know if a password is in a breach corpus; replace a password manager; cryptographic proof of strength beyond rough estimates.

Likely errors: Empty password field; Web Crypto unavailable in locked-down contexts. Fix: enter a password to audit; try a normal browser profile if crypto is blocked.

First principles: Cryptographic randomness comes from the browser CSPRNG. Password “audit” is heuristic shape scoring, not a breach lookup. Passphrases from a small local word list are demos — prefer a real password manager for life secrets.

How to use: Generate random bytes; or enter a password to Audit; or set word count → Generate passphrase.

Terms: CSPRNG — cryptographically secure pseudo-random generator. Entropy — uncertainty measured in bits (rough estimates here). Diceware-style — passphrase from word lists.
Random bytes
Password audit / Diceware-style passphrase
TOTP / HOTP (2FA test · RFC 6238 / 4226)
what this does — click to expand
Simple: Generate or check time-based (TOTP) or counter-based (HOTP) one-time codes from a secret — for testing your own 2FA setup. Secret stays on this device.

Advanced: Base32 secret (or otpauth:// URI paste). HMAC-SHA1 / SHA256 / SHA512 via Web Crypto. TOTP uses device clock and step (default 30 s). HOTP uses a counter you set. Verifier accepts a window of ±1 step for TOTP. Not a full authenticator app UI; no cloud sync.

Cannot: Recover a lost authenticator account; guarantee clock sync with a remote server; replace a hardware security key.

Likely errors: Invalid Base32; Web Crypto missing; clock skew vs the server you are testing. Fix: paste a clean secret or otpauth URI; compare against a known-good app on the same device first.

First principles: TOTP/HOTP are one-time codes from a shared secret (RFC 6238 / 4226). TOTP uses time steps; HOTP uses a counter. Secret stays on device — this is for testing your own setup, not recovering a locked account.

How to use: Paste Base32 secret or otpauth URI → set algo/digits/step → Generate TOTP/HOTP or Verify a code.

Terms: TOTP — time-based OTP. HOTP — counter-based OTP. Base32 — encoding alphabet for secrets. Step — usually 30 seconds. Window — ±1 step tolerance when verifying.
Hash Generator(MD5 · SHA-1 · SHA-256 · SHA-512 · HMAC)
what this does — click to expand
Simple: Fingerprints text/files with standard hash algorithms.

Advanced: Text and/or file input. Optional HMAC key field. Computes MD5, SHA-1, SHA-256, SHA-512, and HMAC-SHA256 when key set.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: No file or empty text; algorithm unsupported in this browser. Very large inputs may slow, hang, or crash this tab (memory). Fix: provide input; reread [?]; try a smaller sample or native tool if needed.

First principles: A cryptographic hash maps arbitrary data to a fixed digest. Same input → same output; tiny change → different digest. HMAC mixes a key into the hash. MD5/SHA-1 are legacy for integrity in hostile settings.

How to use: Enter text and/or file → optional HMAC key → read digests for selected algorithms.

Terms: SHA-256 / SHA-512 — modern hash families. HMAC — keyed hash. Digest — the output hex/value.
Hash will appear here...
Classical Ciphers (Base64 · Hex · ROT · etc.)
what this does — click to expand
Simple: Encode/decode Base64, hex, URL encoding, simple ciphers like ROT13.

Advanced: Text area. Buttons: B64 Enc/Dec, B32 Enc/Dec, Hex Enc/Dec, Bin Enc/Dec, ROT13, Atbash, URL Enc/Dec, Caesar Shift (shift number 1–25).



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty input. Fix: enter text and/or choose a file.

First principles: Classical encodings (Base64, hex, URL encoding) and toy ciphers (ROT13, Atbash, Caesar) transform text for transport or puzzles. They are not modern encryption against an adversary.

How to use: Paste text → press the encode/decode button you need → optional Caesar shift 1–25.

Terms: Base64 — 64-char transport encoding. ROT13 — rotate letters by 13. Atbash — alphabet reversal cipher. Caesar — fixed shift cipher.
XOR Brute-Force (single-byte)
what this does — click to expand
Simple: Try every single-byte XOR key (0–255) and show which keys make the data look like readable text or a known file type.

Advanced: Scores printable ASCII on a sample; bonus if decoded prefix matches MZ, PNG, PDF, ZIP, ELF, or JPEG magic. Hex or raw text input. Local malware-triage helper only.

Cannot: Break multi-byte/rolling XOR or real cryptography; prove which key is "correct." Top scores are hints.

Likely errors: Empty input; odd-length hex; no key scores above threshold (try the other input mode or a larger blob). Fix: even-length hex; paste a longer sample.

First principles: Single-byte XOR encrypts every byte with one key 0–255. Brute force tries all keys and scores which outputs look like text or known file magic. Multi-byte XOR and real crypto are out of scope.

How to use: Paste hex or text → optional “input is hex” → Brute 0x00–0xFF → inspect top scores.

Terms: XOR — bitwise exclusive or. Magic — file signature bytes (MZ, PNG, PDF…). Score — heuristic ranking of printable/magic likelihood.
Custom Base64 Alphabet
what this does — click to expand
Simple: Decode or encode using a Base64 alphabet that is not the standard one (common in obfuscated malware).

Advanced: Alphabet must be exactly 64 unique characters; maps each char to a 6-bit index; optional = padding on encode.

Cannot: Discover the alphabet automatically; decode if characters fall outside the alphabet you supply.

Likely errors: Alphabet length ≠ 64; duplicate characters; payload contains a character not in the alphabet. Fix: paste the exact alphabet from the sample; strip whitespace from payload.

First principles: Some malware and protocols use a non-standard Base64 alphabet. Decoding requires the exact 64 unique characters they used. This tool maps with the alphabet you supply.

How to use: Paste 64-char alphabet → paste payload → Decode or Encode from UTF-8 text.

Terms: Alphabet — ordered set of 64 symbols. Padding — optional = characters on encode.
JWT · Token Decoder
what this does — click to expand
Simple: Opens a JWT to show header and payload claims.

Advanced — can: Paste header.payload.signature; Decode Token → JSON header/payload via base64url.



Cannot: Prove the signature is valid without the correct key/JWKS; detect stolen tokens as stolen; refresh/OIDC full client flows.

Likely errors: Alphabet not 64 unique chars; bad payload. Fix: supply a full custom alphabet and matching data.

First principles: A JWT has three base64url parts: header, payload, signature. Decoding shows claims; verifying the signature needs the correct key/JWKS and is not claimed here.

How to use: Paste token → Decode Token → read JSON header/payload.

Terms: JWT — JSON Web Token. Claim — field inside the payload. base64url — URL-safe base64 variant. Signature — authenticity bytes not verified without a key.
Shamir Secret Sharing (split · recombine)
what this does — click to expand
Simple: Split a short secret into N shares so any K of them can rebuild it. Recombine K shares to recover the secret. All math stays on this device.

Advanced: Polynomial secret sharing over GF(2^8). Text secret is UTF-8; each byte is shared independently. Output shares are hex lines index:hexpayload. Threshold K and total N (2≤K≤N≤16). Not a full multiparty protocol suite; not for multi-megabyte secrets (use file encryption + split the key instead).

Cannot: Recover with fewer than K shares; protect against a malicious share that poisons recombination without extra MAC layers.

Likely errors: Empty secret; K>N; fewer than K valid shares pasted; non-hex share lines. Fix: check counts and paste full share lines.

First principles: Shamir’s Secret Sharing splits a secret into N shares so any K shares can reconstruct it, but fewer cannot (information-theoretically, for honest shares). Implemented here over GF(2^8) per byte for short secrets.

How to use: Enter secret → set K and N → Split; later paste ≥K share lines → Recombine.

Terms: Threshold K — minimum shares to recover. N — total shares issued. GF(2^8) — finite field used for polynomial math on bytes.
Self-Decrypting HTML Capsule (note · file · “if something happens”)
what this does — click to expand
Simple: Encrypt a note or small file with a passphrase and download a single HTML file. Anyone with the passphrase can open that file in a browser and decrypt — no this site, no app store.

Advanced: PBKDF2 + AES-256-GCM. Ciphertext and a minimal decryptor UI are embedded in a standalone HTML document. Recipient needs only a browser and the out-of-band passphrase. Size grows with payload; keep payloads modest for email/USB hand-off.

Cannot: Hide the fact that the HTML is an encrypted capsule; protect against passphrase guessing without a strong passphrase; work if the recipient’s browser lacks Web Crypto.

Likely errors: Empty passphrase; empty payload; download blocked; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: A self-decrypting HTML capsule embeds ciphertext plus a tiny decryptor page. Recipient opens the file offline, enters the out-of-band passphrase, and recovers the note or file via PBKDF2 + AES-GCM.

How to use: Enter passphrase + note and/or file → optional template → Build capsule HTML → send file separately from passphrase.

Terms: PBKDF2 — password-based key derivation. AES-GCM — authenticated encryption. Out-of-band — passphrase shared by a different channel than the capsule file.
AES-256-GCM Vault
what this does — click to expand
Simple: Lock text or files with a passphrase; unlock with the same passphrase.

Advanced: Passphrase field (shared). Text mode: textarea + Encrypt Text / Decrypt Text (salt.iv.ct). File mode: file picker + Encrypt File (.aes) / Decrypt File. PBKDF2 + AES-256-GCM.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Wrong passphrase; corrupt ciphertext; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: Symmetric encryption with a passphrase: derive a key (PBKDF2), encrypt with AES-256-GCM. Text mode shows salt.iv.ct; file mode downloads .aes blobs. Strength follows passphrase quality.

How to use: Enter passphrase → encrypt/decrypt text or choose a file for file mode.

Terms: Salt — random value mixed into key derivation. IV — initialization vector for GCM. CT — ciphertext. Authenticated encryption — detects tampering on decrypt.
Text mode — passphrase + text below, then Encrypt Text / Decrypt Text:
File mode — select any file, passphrase above, then Encrypt File / Decrypt File (.aes):
No file selected.
Dual_EC · Legacy RNG Config Check
what this does — click to expand
Simple: Scan pasted config or crypto text for Dual_EC_DRBG and related legacy RNG markers.

Advanced: Case-insensitive search for Dual_EC names, common OID/curve phrases, and RSA-BSAFE default strings. Offline reference only — does not attack systems or recover keys.

Cannot: Prove a live device is backdoored; remove library code; replace a full crypto audit.

Likely errors: Empty paste; no markers found (not proof of safety). Fix: paste config or vendor docs text.

First principles: Dual_EC_DRBG was a NIST DRBG later withdrawn after public concern about parameter choice. Presence of the name in old config is a triage signal.

How to use: Paste OpenSSL/Java/security policy text → Scan.

Terms: DRBG — deterministic random bit generator. Dual_EC — dual elliptic curve DRBG.

Works with: AES-256-GCM Vault.
Gzip · Deflate
what this does — click to expand
Simple: Squash or unsquash data (gzip/deflate).

Advanced: Uses the browser CompressionStream/ DecompressionStream API when present. Formats available there are typically gzip and deflate(raw deflate). There is no standard browser API for LZMA, Brotli compress, or full ZIP create in all baseline agents; ZIP listing is a separate tool, and Reproduce / Share This File builds a STORE zip for distribution only.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty input; CompressionStream/DecompressionStream missing; corrupt gzip/deflate data. Very large buffers may stress this tab. Fix: paste or choose a file; try another browser if streams are missing.

First principles: Compression shrinks redundant data (gzip/deflate) via browser CompressionStream when available. It is not encryption — compressed data is still readable after decompress.

How to use: Paste text or pick file → Compress gzip / deflate-raw or Decompress.

Terms: gzip — common compressed format with header. deflate-raw — raw deflate stream. CompressionStream — browser API for these formats.
Text Pack · Unpack
what this does — click to expand
Simple: Compress long text to a portable Base64 string, or expand that string back to the original text. No password.

Advanced: deflate-raw (or gzip) via CompressionStream, then Base64. Unpack reverses the path. This is compression + encoding, not encryption — anyone with the string can restore the text.

Cannot: Guarantee a smaller string (random text may grow after Base64); hide content from readers of the string; replace AES when you need secrecy.

Likely errors: Empty input; CompressionStream missing; corrupt/truncated Base64; wrong format prefix. Fix: paste full pack string; try another browser if streams are missing.

First principles: Redundant text shrinks under deflate; Base64 makes binary paste-safe (~33% overhead). Round-trip is exact when compress/decompress succeed.

How to use: Paste text → Pack. Paste pack string → Unpack.

Terms: deflate-raw — raw DEFLATE without zlib wrapper. Pack string — versioned prefix + Base64 payload.

Works with: Gzip · Deflate, AES-256-GCM Vault.
RSA · ECDSA Keys & Signatures
what this does — click to expand
Simple: Generate key pairs and sign/check messages in this session (not password-style file encryption).

Advanced — can: Generate RSA-2048 or ECDSA P-256; message box; Sign; Verify last in-session signature; export SPKI/PKCS8 base64 to the output area.



Cannot: RSA encrypt/decrypt payloads (sign-only algorithms here); durable key store across reloads unless you save the exported keys yourself; full PKI/certificate chain validation.

Likely errors: CompressionStream/DecompressionStream missing; empty input. Fix: modern browser; paste or choose a file.

First principles: Public-key crypto: generate RSA or ECDSA keys in-session, sign messages, verify signatures; optional ECDH shared secret from peer SPKI. Keys vanish when the tab closes unless you export them. Sign-oriented here — not a full CMS mail suite.

How to use: Generate key type → enter message → Sign / Verify; ECDH path for derive when peer key pasted.

Terms: RSA-2048 — classic public-key size. ECDSA P-256 — elliptic curve signature scheme. SPKI / PKCS8 — public/private key export formats. ECDH — key agreement.
Network & Web
Startpage Search
what this does — click to expand
Simple: Opens a privacy-oriented web search in a new tab.

Advanced: Query field. Opens Startpage search in a new tab (external).



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Offline; tracker/ad blocker; corporate DNS filter; CORS hiding headers; public endpoint timeout or downtime. Fix: retry on another network, allowlist the endpoint, or use offline tools only.

First principles: A privacy-oriented search engine receives your query when you submit the form. This panel only opens Startpage in a new tab — it is not a local search index.

How to use: Type a query → Search (new tab).

Terms: Startpage — external search service. GET form — query sent as URL parameters to that site.
CIDR Subnet Calculator
what this does — click to expand
Simple: Shows network range/mask info for an IP/CIDR.

Advanced: IP/CIDR input. Calculates mask, network, broadcast, host range (IPv4-focused).



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Invalid IP or prefix. Fix: enter dotted IPv4 with optional /prefix.

First principles: CIDR writes an IP network as address plus prefix length (e.g. /24). From that you derive netmask, network address, broadcast, and host range — core IPv4 addressing arithmetic.

How to use: Enter IP or IP/CIDR → Calculate → read mask, network, broadcast, hosts.

Terms: CIDR — Classless Inter-Domain Routing. Prefix length — number of network bits. Broadcast — all-hosts address on that subnet. Host range — usable addresses between network and broadcast.
DNS-over-HTTPS & RDAP Recon
what this does — click to expand
Simple: Look up DNS records and some registration data via public resolvers from your browser.

Advanced — can: Domain input; DoH queries to public JSON DNS endpoints; RDAP fetch attempts as implemented.



Cannot: Guarantee every registry allows browser CORS; offline/air-gapped intel; full WHOIS parity; hide the query from the chosen public resolver.

Likely errors: Offline; tracker/ad blocker; corporate DNS filter; CORS hiding headers; public endpoint timeout or downtime. Fix: retry on another network, allowlist the endpoint, or use offline tools only.

First principles: DNS maps names to records (A/AAAA/MX/TXT/NS). DNS-over-HTTPS sends those queries to a public resolver over HTTPS. RDAP is a registration-data API for domains/IPs. Queries are visible to the chosen resolver; CORS may limit some RDAP sources.

How to use: Enter domain or IP → A/AAAA, MX, TXT, NS, or RDAP/WHOIS buttons → read results.

Terms: DoH — DNS-over-HTTPS. A/AAAA — IPv4/IPv6 address records. MX — mail exchanger. RDAP — Registration Data Access Protocol. Resolver — server that answers DNS questions.
PCAP / PCAPNG Analyzer(Packets · Streams · HTTP · DNS · JA3 · Talkers)
what this does — click to expand
Simple: Open a packet capture (.pcap / .pcapng) and list packets in this tab.

Advanced: Classic PCAP and PCAPNG block walk; per-frame Ethernet/IP/TCP/UDP-style summary via fixed offsets. Shows first 200 rows; full array kept in memory for follow-on buttons. DNS payload helper when present.

Cannot: Replace Wireshark; decrypt TLS; guarantee every vendor-specific link type; stream terabyte captures; honor every if_tsresol resolution (default assumes microseconds for EPB timestamps).

Likely errors / out-of-bounds: Unrecognized magic; file truncated mid-packet; incl_len past end of file (parser stops or throws); malformed PCAPNG block length; tab freeze/OOM on huge files. Fix: smaller capture, re-export from a desktop tool, or filter before upload.

First principles: PCAP/PCAPNG files store captured network packets. Parsing walks headers (Ethernet/IP/TCP/UDP summaries), can list talkers, TCP streams, HTTP/DNS payloads, TLS/JA3-ish fingerprints, and heuristic stalkerware signatures — triage in-tab, not Wireshark replacement.

How to use: Load .pcap/.pcapng → Parse then optional Talkers/Streams/HTTP/DNS/JA3/signatures. Prefer smaller captures.

Terms: PCAP — classic packet capture format. PCAPNG — next-gen multi-block format. Talker — host with high packet volume. JA3 — TLS client fingerprint heuristic. Stream — reassembled TCP conversation view.
HAR Parser(HTTP Archive)
what this does — click to expand
Simple: Reads a browser HAR export of recorded web traffic.

Advanced — can: HAR file picker; lists log.entries (method, URL, status, timing summary).



Cannot: Live capture; decrypt HTTPS beyond what the HAR already contains; full waterfall performance lab analysis.

Likely errors: Empty or invalid HAR JSON; truncated paste. Fix: paste a full HAR export; validate JSON structure.

First principles: HAR (HTTP Archive) is JSON exported by browsers recording web traffic: methods, URLs, status, timings. Parsing lists entries already captured — it is not live interception.

How to use: Load a .har file → Parse HAR → skim entries.

Terms: HAR — HTTP Archive format. Entry — one request/response pair. Waterfall — timing visualization (summary only here).
X.509 Certificate Decoder(PEM paste)
what this does — click to expand
Simple: Paste a certificate and see readable fields/strings.

Advanced: PEM paste (or file if present). Decodes/extracts readable cert fields and strings from DER.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Invalid JSON HAR. Fix: export a .har from the browser and load it.

First principles: X.509 certificates bind public keys to identities using a ASN.1/DER structure often shipped as PEM text. Decoding extracts readable fields and strings; full PKI trust validation is not performed.

How to use: Paste PEM certificate → Decode Certificate.

Terms: PEM — Base64 between BEGIN/END lines. DER — binary ASN.1 encoding. Subject / Issuer — who the cert names and who signed it. SAN — Subject Alternative Names.
Email Header / Received-Path Parser
what this does — click to expand
Simple: Shows the hop-by-hop path from email headers.

Advanced: Raw headers paste. Parses Received chain and core headers for path analysis.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty paste; no Received lines. Fix: paste full message headers.

First principles: Email Received headers record hops a message took. Parsing the chain helps reconstruct path and timing claims — still forgeable by senders and intermediate systems.

How to use: Paste full headers → Parse Headers → read hop list and core fields.

Terms: Received — per-hop trace line. MTA — mail transfer agent. Envelope vs headers — transport vs message header metadata.
ID Decoder (Snowflake · ULID · KSUID)
what this does — click to expand
Simple: Breaks Snowflake, ULID, or KSUID strings into time and parts when the format is recognized.

Advanced: Auto or forced scheme. Snowflake (Twitter/Discord-style 64-bit) → timestamp / worker / sequence. ULID (26 Crockford Base32) → 48-bit ms timestamp + randomness. KSUID (27 Base62) → 32-bit second timestamp + payload. Timestamps shown in ISO UTC and local. Layout assumptions follow common public schemes; custom epochs may differ.

Cannot: Recover meaning of opaque vendor IDs outside these layouts; prove an ID was issued by a given service.

Likely errors: Empty input; string length/charset does not match a known scheme. Fix: paste a full ID; try forcing the scheme if auto-detect fails.

First principles: Snowflake/ULID/KSUID embed timestamps in opaque IDs. Decoding extracts time and structure when the layout matches common public schemes — custom vendor epochs may differ.

How to use: Paste ID → Auto or force scheme → Decode.

Terms: Snowflake — 64-bit time+worker+sequence style ID. ULID — 48-bit ms time + randomness, Crockford Base32. KSUID — second-resolution time + payload, Base62.
Browser Network Diagnostics
what this does — click to expand
Simple: Show what this browser admits about connectivity (online flag and connection quality if exposed).

Advanced: navigator.onLine; navigator.connection / webkit / moz variants when present (effectiveType, rtt, downlink, saveData). No outbound network probe from this tool.

Cannot: List OS interfaces or other apps' sockets; work equally on every browser (API often missing on Safari).

Likely errors: Connection API missing → partial report only. Not a failure of the page — the engine simply does not expose it.

First principles: The browser exposes limited connectivity signals: online flag and sometimes connection quality (effectiveType, RTT, downlink). This is not an OS interface list or speed-test lab.

How to use: Press Refresh → read navigator.onLine and connection fields when present.

Terms: effectiveType — coarse network class (e.g. 4g). RTT — round-trip time estimate. saveData — user preference for reduced data.
HTTP Response Header Inspector
what this does — click to expand
Simple: Fetch a URL you type and list response headers the browser allows JavaScript to see.

Advanced: fetch with redirect follow. Uses the network (optional; key-free; same class as DoH/RDAP — you choose the target). Prefer https://. CORS often hides most cross-origin headers — only exposed headers appear. Same-origin or CORS-open responses show more. The request is visible on the path like any other browser fetch; this tool does not phone home to an author-controlled server.

Cannot: Bypass CORS; always see Set-Cookie; replace a desktop interceptor (mitmproxy, Burp).

Likely errors: Failed fetch (offline, DNS, TLS, blocked); opaque/filtered headers; mixed content. Fix: reachable URL (https preferred); interpret "few headers" as browser policy, not empty server.

First principles: HTTP response headers describe caching, security policies, content type, and more. JavaScript fetch only sees headers CORS allows. This tool requests a URL you choose (optional network use) and lists exposed headers — same class as other user-driven lookup tools.

How to use: Enter URL → Fetch headers → read status and header list. Few headers often means CORS filtered them, not an empty server.

Terms: CORS — Cross-Origin Resource Sharing rules that hide many headers from JS. HSTS — Strict-Transport-Security. CSP — Content-Security-Policy.
BPF Expression Helper
what this does — click to expand
Simple: Check and explain a classic BPF capture filter expression (tcpdump-style).

Advanced: Tokenize host/net/port/proto keywords, balance parentheses, flag empty or odd tokens. Does not compile kernel BPF; local syntax help only.

Cannot: Attach to interfaces; replace libpcap; guarantee every vendor dialect.

Likely errors: Empty expression; unbalanced parentheses. Fix: match tcpdump filter syntax.

First principles: BPF filters select packets by header fields before user-space sees them.

How to use: Paste expression (e.g. tcp port 443 and not host 10.0.0.1) → Check.

Terms: BPF — Berkeley Packet Filter. Primitive — host/net/port/proto clause.

Works with: PCAP / PCAPNG Analyzer.
BGP · AS-PATH · Traceroute Parse
what this does — click to expand
Simple: Parse pasted BGP path lines or traceroute text into hop/AS lists.

Advanced: Pull AS numbers from AS-PATH style text; hop lines from traceroute (numbered hops, MS timeouts). Flags private ASN ranges when seen. Offline text only.

Cannot: Speak BGP to routers; live looking-glass; RPKI validation against the real-time internet.

Likely errors: Empty paste; no AS or hop patterns found. Fix: paste show output or traceroute text.

First principles: AS-PATH is the sequence of autonomous systems a route claims to traverse; traceroute lists forwarding hops.

How to use: Paste dump → Parse.

Terms: ASN — autonomous system number. AS-PATH — ordered AS sequence.

Works with: CIDR Subnet Calculator, Browser Network Diagnostics.
Location & Time
Location (capture · convert · distance)
what this does — click to expand
Simple: Get this device's location (with your permission), convert DMS to decimal, or measure distance between two points. Optional evidence card / JSON from the last fix.

Advanced: navigator.geolocation (once/watch); DMS parser; Haversine on lat, lon pairs. GPS path does not call a map server. Needs secure context and user permission on most browsers.

Cannot: Survey-grade accuracy; work if permission is denied; guarantee altitude/heading/speed on every device; replace a dedicated GNSS logger.

Likely errors: Permission denied; position unavailable; timeout; bad DMS format; Haversine points not lat, lon. Fix: allow location, try outdoors/HTTPS, check coordinate format examples in the fields.

First principles: Geolocation asks the OS/browser for a position after permission. DMS converts degree-minute-second notation to decimal; Haversine estimates great-circle distance between two lat/lon points. Accuracy is consumer GPS/network class, not survey grade.

How to use: Get location once/watch → optional evidence card/JSON; or convert DMS; or enter two points for distance.

Terms: lat/lon — latitude/longitude. DMS — degrees minutes seconds. Haversine — sphere distance formula. Watch — continuous position updates until stopped.

Works with: NMEA Sentence Inspector, Maidenhead · UTM · MGRS, GPX / KML Track Analyzer.
Capture
Convert / distance (existing fields if present below)
Global Timezone Converter
what this does — click to expand
Simple: Convert a time across time zones.

Advanced: Time/date input and zone selectors as labeled. Converts using browser Intl capabilities.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Permission denied; insecure context; no GPS fix. Fix: allow location on HTTPS; wait for a fix outdoors if needed.

First principles: Time zones offset local civil time from UTC (and may observe DST). Conversion uses browser Intl/offset lists to show the same instant in another zone.

How to use: Enter time (or Insert Now) → pick from/to zones → Convert.

Terms: UTC — Coordinated Universal Time. Offset — hours from UTC. DST — daylight saving adjustments. IANA zone — named zone database entry when available.
GPX / KML Track Analyzer
what this does — click to expand
Simple: Drop a GPS track file (GPX or simple KML) to see distance, elevation range, and a height profile — no map tiles, no network.

Advanced: Parses track points; Haversine cumulative distance; min/max/avg elevation when present; elevation sparkline on canvas. GeoJSON LineString also accepted as JSON text. No tile server, no live routing.

Cannot: Show a street map; correct barometric noise; replace a full GIS suite.

Likely errors: Empty or non-track file; no points found. Fix: export GPX from a known logger; check file opens as text.

First principles: GPX/KML tracks are sequences of geographic points, sometimes with elevation and time. Analysis sums Haversine distances and elevation range and can draw a simple height profile — no map tiles.

How to use: Load GPX/KML/GeoJSON → Analyze track → read distance/elevation and optional sparkline.

Terms: GPX — GPS Exchange format. Track point — one recorded position. Elevation — height above reference when present.

Works with: Location, Maidenhead · UTM · MGRS, NMEA Sentence Inspector.

Works with: Track · Geofence Stats, WKT ↔ GeoJSON · Geodesic, Maidenhead · UTM · MGRS.
Multi-Zone Meeting Planner (overlap · world strip)
what this does — click to expand
Simple: Pick several time zones and see what clock time it is in each, plus which hours overlap for a meeting (waking-window style).

Advanced: Uses browser Intl / IANA zones when available; falls back to fixed UTC offsets from a short list. World strip shows “now” in each selected zone. Overlap mode: for a chosen local date and preferred start/end hours (in each zone’s local time), list hours where all zones are inside their window. Device clock only — not network time.

Cannot: Account for every historical DST transition on ancient browsers; replace a full calendar product.

Likely errors: Zone name unknown to this browser’s ICU data; empty selection. Fix: pick from the list or a well-known IANA name (e.g. America/New_York).

First principles: Meeting planning across zones finds hours where all participants are inside a waking window. Uses device clock and Intl/offset data — not calendar invites or network time.

How to use: List zones → set wake/sleep hours → World strip (now) or Find overlap hours.

Terms: Overlap hour — a clock hour inside every zone’s wake window. World strip — current time in each selected zone.
Zones (comma-separated IANA or pick common)
Epoch ↔ Local Date Converter
what this does — click to expand
Simple: Convert computer timestamps to human dates and back.

Advanced: Epoch seconds/ms or date string inputs. Converts to UTC/local and reciprocal epoch.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Not GPX/KML/GeoJSON; empty track. Fix: load a track file with points.

First principles: Unix epoch time counts seconds (or ms) since 1970-01-01 UTC. Converting to/from human dates bridges logs and UIs.

How to use: Paste epoch or date string → Epoch→Date or Date→Epoch.

Terms: Epoch seconds — integer seconds since 1970 UTC. Epoch ms — milliseconds variant common in JS.
Solar & Shadow Vector Calculator(GEOINT)
what this does — click to expand
Simple: Estimates where the Sun is and how long a shadow is for a place and time (GEOINT photo check aid).

Advanced — can: Latitude, longitude, optional datetime-local; outputs elevation, azimuth, unit-height shadow length, declination via a simplified solar model.



Cannot: Survey-grade or full NREL SPA ephemeris accuracy; account for terrain, lens distortion, or atmospheric refraction in photos; alone prove a photo's capture time in court.

Likely errors: Invalid lat/lon. Fix: enter numeric coordinates.

First principles: Solar position models estimate sun elevation and azimuth for a place and time, and a unit-height shadow length — a GEOINT photo-check aid, not survey-grade ephemeris.

How to use: Enter lat/lon and optional datetime → Calculate Solar Position.

Terms: Azimuth — compass direction of the sun. Elevation — angle above horizon. Declination — solar latitude-like angle. Shadow length — for unit height object under simplified model.

Works with: Look Angles · Slant Range, Location.
Multi-Format Timestamp Normalizer
what this does — click to expand
Simple: Turn many time formats into one clear set of answers.

Advanced: Timestamp paste (epoch/ISO/RFC-ish). Outputs UTC, local, epoch, and related normalized forms.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Non-numeric epoch; unparsable date. Fix: paste seconds/ms or a recognizable date string.

First principles: Logs use many timestamp formats. Normalization tries to parse epoch/ISO/RFC-ish/date strings into a consistent set of UTC, local, and epoch forms.

How to use: Paste a timestamp → Normalize → read unified outputs.

Terms: ISO8601 — standard datetime text form. RFC2822 — email-style date. Normalize — map diverse inputs to common outputs.
Satellite · GNSS · Field Satcom
NMEA Sentence Inspector
what this does — click to expand
Simple: Paste GNSS receiver text (NMEA lines) and see structured fields — position, time, fix quality, satellites used.

Advanced: Parses common talkers/sentences (GGA, RMC, GLL, GSA, GSV, VTG, ZDA and multi-constellation GP/GL/GA/GB/GN variants). Validates checksum when present. Offline only; does not talk to a receiver.

Cannot: Configure a GNSS chip; stream a live COM port by itself (use a serial tool if the OS exposes one); claim survey-grade accuracy.

Likely errors: Missing $ lines; bad checksum; incomplete sentences. Fix: paste full lines from the device log.

First principles: Consumer GNSS receivers emit ASCII NMEA-0183 sentences. Each line is talker + type + comma fields + optional XOR checksum.

How to use: Paste log → Inspect.

Terms: GGA — fix data. RMC — recommended minimum. Checksum — XOR of chars between $ and *.

Works with: Location, GPX / KML Track Analyzer, Maidenhead · UTM · MGRS.
TLE Parser · Orbital Elements
what this does — click to expand
Simple: Paste a classic two-line (or three-line with name) TLE and read period, inclination, and related elements.

Advanced: Parses NORAD TLE line 1/2 fields; derives period (min), approx mean altitude for circularized mean motion, and eccentricity. Optional observer lat/lon for a simplified circular-orbit az/el sample at a chosen time offset (not full SGP4).

Cannot: Replace operational mission software or full SGP4/SDP4; predict conjunctions; fetch catalogs by itself (paste only).

Likely errors: Wrong line length; checksum digit ignored here as soft check; non-numeric fields. Fix: paste unmodified Celestrak-style lines.

First principles: A TLE encodes mean orbital elements at an epoch. Period follows from mean motion (rev/day).

How to use: Paste TLE → Parse. Optionally enter observer + minutes-from-epoch for a rough az/el sample.

Terms: TLE — two-line element set. Mean motion — revolutions per day. Inclination — tilt of orbit vs equator.

Works with: Look Angles · Slant Range, Doppler Shift Helper, Link-Budget Toy (FSPL).
Look Angles · Slant Range
what this does — click to expand
Simple: From your position and a satellite’s geographic position/altitude, compute azimuth, elevation, and slant range.

Advanced: Spherical Earth geometry: observer lat/lon/alt + target lat/lon/alt → az (0–360 from north), elevation (deg), range (km). Local topocentric frame.

Cannot: Account for terrain masking, refraction, or non-spherical Earth; propagate orbits (use TLE tool for elements).

Likely errors: Bad lat/lon; altitude units mixed. Fix: decimal degrees; altitude in km.

First principles: Look angles are the direction from a ground point to a point in space in the local sky (azimuth/elevation).

How to use: Enter observer and satellite positions → Compute.

Terms: Azimuth — degrees clockwise from north. Elevation — degrees above horizon. Slant range — straight-line distance.

Works with: TLE Parser · Orbital Elements, Solar & Shadow Vector Calculator, Location.
Doppler Shift Helper
what this does — click to expand
Simple: Estimate frequency shift when the source is moving toward or away from you.

Advanced: Non-relativistic radial Doppler: f_obs ≈ f_tx × (c + v_r) / c with v_r positive when approaching. Optional reverse (observed → rest).

Cannot: Model full LEO pass Doppler curves without geometry; replace a radio’s tracking AFC.

Likely errors: Frequency not in Hz/kHz/MHz as labeled; velocity unit mismatch. Fix: use m/s relative radial speed.

First principles: Relative motion along the line of sight shifts wavelength/frequency.

How to use: Enter TX frequency + radial velocity → Compute.

Terms: Radial velocity — component of velocity along the line of sight. c — speed of light ≈ 2.998e8 m/s.

Works with: TLE Parser · Orbital Elements, Link-Budget Toy (FSPL).
Maidenhead · UTM · MGRS
what this does — click to expand
Simple: Convert between decimal lat/lon and Maidenhead grid, UTM, or MGRS-style grid text.

Advanced: Maidenhead to 8–10 characters; UTM zone/easting/northing (WGS84); MGRS from UTM with 10 m–1 km precision labels. Bidirectional best-effort.

Cannot: Replace a certified GIS stack; polar UPS edge cases are simplified.

Likely errors: Ambiguous grid string; out-of-range lat/lon. Fix: check examples in the field placeholders.

First principles: Field operators often share positions as grids rather than raw degrees.

How to use: Enter one format → Convert all.

Terms: Maidenhead — ham radio grid squares. UTM — Universal Transverse Mercator. MGRS — Military Grid Reference System.

Works with: Location, GPX / KML Track Analyzer, NMEA Sentence Inspector.
Sat-Phone Field Reference
what this does — click to expand
Simple: Offline public reference notes for using a satellite phone/router link — sky, power, messaging limits, and what this page cannot do.

Advanced: Static guidance only (Iridium / Inmarsat / Thuraya-class public patterns, SBD-ish size awareness, distress-beacon vs two-way distinction). States ordinary public emergency numbers (e.g. 911 / 112) where relevant; provider-specific short codes stay “check your kit card.” No network calls.

Cannot: Register service; place a call; act as dispatch; replace the manufacturer manual or local emergency procedures; activate a PLB/EPIRB for you; invent provider-specific emergency short codes.

Likely errors: None computational — outdated public patterns if a provider changes dialing. Fix: confirm with your provider card/manual.

First principles: L-band handsets need sky view, power, and a provisioned account. Two-way satcom is not the same as a one-way distress beacon.

How to use: Show Reference → read before you need it.

Terms: SBD — short-burst data. PLB/EPIRB — distress beacons via MEOSAR/Cospas-Sarsat (not this page).

Works with: SBD / Short-Burst Text Prep, Survival Beacon Macro, Location.
SBD / Short-Burst Text Prep
what this does — click to expand
Simple: Check length and split a message into chunks that fit short-burst / SMS-like sat limits before you type it into a terminal.

Advanced: Byte and character counts (UTF-8); chunk at classic 270 / 340 / 160 boundaries; optional ASCII-only warning. Does not send.

Cannot: Transmit over any constellation; guarantee provider limits (they vary by product).

Likely errors: Multibyte characters inflate byte length vs character count. Fix: watch the byte column.

First principles: Many sat messaging modes bill/limit by short payloads; preparing text offline avoids wasted attempts.

How to use: Paste draft → Prep.

Terms: Chunk — one payload-sized piece. UTF-8 — byte encoding of text.

Works with: Sat-Phone Field Reference, Maidenhead · UTM · MGRS.
Link-Budget Toy (FSPL)
what this does — click to expand
Simple: Rough free-space path loss from frequency and distance, plus optional antenna gains and TX power to sketch received level.

Advanced: FSPL(dB) ≈ 20·log10(d_km) + 20·log10(f_MHz) + 32.44; Pr(dBm) ≈ Pt(dBm) + Gt(dBi) + Gr(dBi) − FSPL. Educational only.

Cannot: Model atmosphere, rain, multipath, cable loss, or real terminal EIRP limits; replace a professional link budget.

Likely errors: Mixed units (m vs km, Hz vs MHz). Fix: use the labeled units.

First principles: In free space, power density falls with distance; higher frequency increases path loss for the same range.

How to use: Enter f, distance, optional gains/power → Compute.

Terms: FSPL — free-space path loss. EIRP — equivalent isotropic radiated power (not fully modeled here).

Works with: Doppler Shift Helper, Look Angles · Slant Range, TLE Parser · Orbital Elements.
Geo · Formats · Imagery Triage
WKT ↔ GeoJSON · Geodesic
what this does — click to expand
Simple: Convert simple WKT geometry text to GeoJSON (and back), and measure geodesic distance or polygon area on WGS84.

Advanced: Supports Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon (2D). Vincenty-style distance on WGS84 ellipsoid; ring area via geodesic approximation. Offline pure math.

Cannot: Full OGC edge cases, 3D/M measures, projection transforms (see grid tools), topology validation, or GIS server roles.

Likely errors: Malformed WKT; empty coordinates; non-closed rings. Fix: check parentheses and comma placement.

First principles: WKT is a text encoding of geometry; GeoJSON is JSON geometry. Geodesic measures follow the ellipsoid, not flat-map pixels.

How to use: Paste WKT or GeoJSON → Convert. For measure, paste a LineString/Polygon or two points as lon lat.

Terms: WKT — Well-Known Text. GeoJSON — JSON geometry/feature encoding. Geodesic — shortest path on the ellipsoid.

Works with: Maidenhead · UTM · MGRS, GPX / KML Track Analyzer, Track · Geofence Stats.
GeoTIFF · World-File Triage
what this does — click to expand
Simple: Inspect GeoTIFF header tags and/or a six-line world file to see size, compression hints, and georeferencing numbers — without loading the whole image as a map.

Advanced: Reads a bounded prefix of a TIFF/GeoTIFF (endian, IFD entries, GeoKeyDirectory when present) — header triage, not a whole-file load. World file (.tfw/.jgw/.pgw) parses the affine six parameters.

Cannot: Full PROJ pipeline; display orthorectified maps; decode every compression codec; replace GDAL.

Likely errors: Not a TIFF; truncated header; world file not six numbers; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: GeoTIFF stores georeferencing in TIFF tags; a world file is a sidecar affine transform for simple rasters.

How to use: Choose a .tif/.tiff and/or paste world-file text → Inspect.

Terms: IFD — image file directory. GeoKey — GeoTIFF key. World file — six-line affine sidecar.

Works with: Raster Indices · Image Diff, WKT ↔ GeoJSON · Geodesic.
Track · Geofence Stats
what this does — click to expand
Simple: Load a GPX/KML track and an optional fence polygon; see point counts inside/outside, basic length, and time span when timestamps exist.

Advanced: Parses track points from GPX/KML; point-in-polygon (ray cast) against WKT/GeoJSON polygon or lon/lat list; densifies summary beyond the basic analyzer. Size-gated.

Cannot: Map rendering with tiles; topological validation; live GPS tracking (see Location).

Likely errors: No track points; fence not a polygon; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: A geofence is a polygon test against each recorded point. Track stats aggregate distance and time between points.

How to use: Choose track file → optional fence text → Analyze.

Terms: Geofence — geographic boundary. Ray cast — even-odd point-in-polygon test.

Works with: GPX / KML Track Analyzer, WKT ↔ GeoJSON · Geodesic, Location.
Raster Indices · Image Diff
what this does — click to expand
Simple: On small images you supply, compute per-channel stats and a simple visual difference between two same-size images.

Advanced: Decodes via browser image pipeline to canvas; mean/stdev per R/G/B; optional excess-green style index for RGB vegetation proxy; abs-diff preview on canvas. Very large images may exhaust the tab — see Cannot/Likely errors. Not multi-band scientific NDVI unless your file is already mapped into RGB by you.

Cannot: True multi-spectral NDVI from arbitrary GeoTIFF bands; GPU change-detection suites; huge ortho mosaics.

Likely errors: Decode failure; dimension mismatch for diff; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: Indices are arithmetic on band values. A visual diff is per-pixel absolute difference, not an analytic claim of “change detection.”

How to use: Select image A (required) and optional B → Compute. Diff needs both.

Terms: Excess green — 2G−R−B proxy. Abs-diff — absolute channel difference.

Works with: GeoTIFF · World-File Triage, Forensic Image Difference Comparator.
Camera, Mic & Clipboard
Camera Capture(Photo · Video · Freeze Frame · Hash)
what this does — click to expand
Simple: Opens the device camera (with permission). Take a still, freeze a frame, or try a short video — files stay on your device.

Advanced — can: getUserMedia video; photo/freeze via canvas + SHA-256; MediaRecorder for video when the browser supports it; Stop releases the camera.

Cannot / errors you may see:
  • Permission denied / NotAllowedError — allow camera for this site (HTTPS required on real phones).
  • Preview not ready — wait a second after Start Camera before Photo/Freeze.
  • No video data / empty recording — many Safari iPhone builds don't fully support recording live camera video in the browser. Use Photo or Freeze instead; Chrome desktop usually records fine.
  • Camera in use — stop Live QR or another app using the camera, then Start again.
How to fix: Use HTTPS, allow the prompt, Stop Camera when finished, prefer Photo on iPhone if Record fails.

Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty or invalid input; missing permission or API on this browser; file too unusual for the parser. Fix: check inputs, try another browser if the control is progressive-enhancement only, read Advanced notes on this panel.

First principles: getUserMedia opens the camera after permission. Stills freeze a frame to canvas; MediaRecorder may capture video where supported. Files stay local; Stop releases the device.

How to use: Start Camera → Photo / Freeze / Record as needed → Stop Camera when done. Prefer Photo on iPhone if Record fails.

Terms: getUserMedia — browser API for camera/mic. MediaRecorder — records a MediaStream. Freeze — grab current frame without a full photo pipeline.
Mic Level / Clip Monitor
what this does — click to expand
Simple: Shows how loud the mic is and whether sound is clipping (distorting).

Advanced — can: getUserMedia audio + AnalyserNode peak/RMS.

Cannot / errors you may see:
  • Permission denied — allow microphone for this site.
  • Mic error after Block — reset site permissions.
  • Not a calibrated dB meter — relative levels only.
How to fix: Allow mic, use Stop when done, don't run at the same time as Audio recorder if the browser gets confused.

Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty or invalid input; missing permission or API on this browser; file too unusual for the parser. Fix: check inputs, try another browser if the control is progressive-enhancement only, read Advanced notes on this panel.

First principles: Microphone level monitoring reads peak/RMS from an AnalyserNode so you can see loudness and clipping risk. Relative levels only — not a calibrated dB meter.

How to use: Start Mic Monitor → watch Peak/RMS/Clip → Stop when finished.

Terms: Peak — highest sample magnitude in a window. RMS — average power-like level. Clip — hitting the maximum amplitude.
Peak: — · RMS: — · Clip: —
Live QR / Barcode from Camera
what this does — click to expand
Simple: Points the camera at a QR/barcode and reads it when the browser supports live detection.

Advanced — can: getUserMedia + BarcodeDetector on live frames.

Cannot / errors you may see:
  • BarcodeDetector not supported — common on some Safari versions; use the file-based barcode tool with a photo instead.
  • Camera permission denied — allow camera; stop Camera Capture if it holds the device.
  • No decode — poor lighting, blur, or unsupported symbology.
How to fix: Good light, steady aim, Stop when done; fall back to photo + Native Barcode tool if live scan isn't supported.

Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty or invalid input; missing permission or API on this browser; file too unusual for the parser. Fix: check inputs, try another browser if the control is progressive-enhancement only, read Advanced notes on this panel.

First principles: Live barcode scan feeds camera frames to BarcodeDetector when the API exists. Lighting and support vary; file-based barcode tool is the fallback.

How to use: Start Scan → aim at code → Stop. If unsupported, photograph and use Native Barcode Inspector.

Terms: BarcodeDetector — decode API. Frame — one video image from the live stream.
Audio Note Recorder
what this does — click to expand
Simple: Records a voice note to a local audio file (no upload).

Advanced — can: MediaRecorder on mic; MIME auto-pick; download + hash.

Cannot / errors you may see:
  • Mic permission denied — allow microphone.
  • No audio data — rare codec/permission issue; check MIME probe; try again after Stop.
  • Already recording — press Stop & Save before starting another.
How to fix: Allow mic, speak after Record starts, always Stop & Save to finish and download.

Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty or invalid input; missing permission or API on this browser; file too unusual for the parser. Fix: check inputs, try another browser if the control is progressive-enhancement only, read Advanced notes on this panel.

First principles: MediaRecorder captures microphone audio to a local file you can download and hash. No upload. Codec choice depends on browser support.

How to use: Record → speak → Stop & Save → keep the downloaded file.

Terms: MIME type — container/codec label the recorder uses. Chunk — segment of recorded data assembled into a blob.
MediaRecorder MIME / Codec Probe
what this does — click to expand
Simple: Lists which recording formats this browser claims to support.

Advanced — can: isTypeSupported sheet; auto-pick; 1s mic test with fallback.

Cannot / errors you may see:
  • MediaRecorder missing — browser too old.
  • Test error / all attempts failed — mic blocked or no usable audio MIME.
  • A format marked [yes] can still fail on live camera video (especially Safari).
How to fix: Allow mic for the test; treat the sheet as guidance, not a guarantee for camera video.

Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty or invalid input; missing permission or API on this browser; file too unusual for the parser. Fix: check inputs, try another browser if the control is progressive-enhancement only, read Advanced notes on this panel.

First principles: Browsers advertise which MediaRecorder MIME types they claim to support. Probing lists those claims and can try a 1s test recording. Claims can still fail on live camera video especially on Safari.

How to use: Capability Sheet / Auto-Pick Order / 1s Test as needed.

Terms: isTypeSupported — API that reports MIME support. Fallback — next MIME candidate if one fails.
Permission Matrix · Preflight
what this does — click to expand
Simple: Tries to list whether this site is allowed to use camera, mic, etc. On many phones the answer is just "the browser won't say."

Advanced — can: permissions.query where the browser supports it; preflight text before capture; origin OPSEC reminder.

Cannot / errors you may see:
  • unknown — Safari (and some Chrome cases) often hide permission state until you actually use the camera/mic. This is normal, not a broken tool.
  • denied — you (or the OS) blocked access earlier. Fix: site settings → allow camera/mic for this site, or clear site data and try again.
  • prompt — browser will ask next time you Start Camera / Mic.
  • API missing — old browser; matrix can't run; use the capture buttons directly.
How to fix most issues: Ignore unknown. Press Start Camera or Start Mic and answer the system popup. If you previously hit Block, reset permission for this website in the browser settings.

Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty or invalid input; missing permission or API on this browser; file too unusual for the parser. Fix: check inputs, try another browser if the control is progressive-enhancement only, read Advanced notes on this panel.

First principles: Permission state for camera/mic/etc. is controlled by the browser and OS. This matrix queries when the Permissions API exists; many engines report “unknown” until you actually use the feature.

How to use: Permission Matrix / Preflight / OPSEC Reminder — then use Start Camera/Mic and answer system prompts.

Terms: prompt / granted / denied — common permission states. Preflight — check before opening hardware.
Screen Stay-On(Wake Lock API — display only)
what this does — click to expand
Simple: Asks this browser tab to keep the screen from dimming/locking while you read or work here. That is all.

Advanced — can: Uses the Screen Wake Lock API ( navigator.wakeLock.request('screen')). Release drops the request. If the tab is hidden, the browser often releases it; if you still want stay-on, it may re-request when you come back.

Does NOT do (common confusion):
  • Does not prevent cache clears, storage eviction, or "Site Data" wipe.
  • Does not replace OS "Display always on" system settings (those are separate; this is per-page).
  • Does not keep network alive, stop the OS from killing the tab, or save battery.
  • Does not persist notes — use Save Local / export / Storage Persist for data.
Cannot / errors: API missing on some browsers; battery saver may deny; needs a secure context (HTTPS). Release when finished.





Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Wake Lock API missing; permission denied; lock released by the browser when the tab hides. Fix: try another browser; keep the tab visible; re-request the lock.

First principles: Screen Wake Lock asks the browser to keep the display from dimming while this page holds the lock. It does not keep the OS alive, save battery, or protect storage.

How to use: Keep Screen On → work → Release Screen Lock when finished.

Terms: Wake Lock — Screen Wake Lock API. Secure context — HTTPS/localhost usually required.
Screen stay-on: off
Level / Plumb Indicator
what this does — click to expand
Simple: Uses tilt sensors like a level so document photos can be flatter.

Advanced — can: deviceorientation beta/gamma; Stop removes the listener.

Cannot / errors you may see:
  • Motion permission denied (iPhone) — allow motion/orientation for the site when prompted.
  • Waiting forever — desktop without sensors, or permission not granted.
How to fix: Grant motion access on iOS; use Stop Level when finished; on desktop it may never read useful tilt.

Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty or invalid input; missing permission or API on this browser; file too unusual for the parser. Fix: check inputs, try another browser if the control is progressive-enhancement only, read Advanced notes on this panel.

First principles: Device orientation sensors report tilt angles. A level uses those angles so you can square a phone against a surface for flatter document photos. Desktop machines often lack useful sensors.

How to use: Start Level → align device → Stop Level. Grant motion permission on iOS if asked.

Terms: beta / gamma — tilt axes from DeviceOrientation. Plumb — vertical reference.
Clipboard Write Helpers
what this does — click to expand
Simple: Copies hash / time / text onto the clipboard so you can paste elsewhere.

Advanced — can: clipboard.writeText after a button click.

Cannot / errors you may see:
  • Copy failed — browser blocked clipboard (permissions or non-secure page).
  • Empty field — put text in the box first.
How to fix: Use HTTPS, click the button yourself (not automated), paste manually if copy is blocked.

Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty text; clipboard permission denied; API missing or blocked in this context. Fix: enter text; grant clipboard permission; try a secure context (HTTPS or localhost) if the browser requires it.

First principles: Clipboard write copies text you choose into the OS paste buffer after a user gesture. Blocked on some non-secure contexts or without permission.

How to use: Fill a field → Copy Hash / Copy Normalized / Copy Text.

Terms: clipboard.writeText — async clipboard API. User gesture — click/tap required by many browsers.
Share Sheet(navigator.share)
what this does — click to expand
Simple: Opens the phone/OS share menu for text or the last capture file.

Advanced — can: navigator.share / canShare.

Cannot / errors you may see:
  • API not available — desktop browser without share support.
  • Cannot share files — use Share Text or the Save link instead.
  • Share cancelled — you closed the sheet; not an error.
How to fix: Prefer Share Text if file share fails; ensure a capture exists before Share Last.

Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Share API missing; user cancelled; nothing to share. Fix: use a supporting browser; complete the share sheet or copy manually.

First principles: Web Share API opens the OS share sheet for text or a file when the engine supports it. Desktop support is uneven.

How to use: Enter text → Share Text; or Share Last Capture File after a capture exists.

Terms: navigator.share — share sheet API. canShare — capability check for files/text.
Storage Persist + Budget
what this does — click to expand
Simple: Shows how much space this site is using (when the browser reports it) and can ask the browser not to throw away this site's data when the device is low on space. That is a request — not a promise.

Advanced: navigator.storage.estimate() and navigator.storage.persist() when present. Persisted permission is per origin and can still be cleared by the user or by browser policy.

Cannot: Force the OS to keep data forever; work when the Storage API is missing; replace your own exports of important notes.

Likely errors: "Unavailable" — API missing. "Not granted" — browser refused persist under pressure. Fix: export important drafts yourself (Markdown Erase/Save and Storage export); do not rely on persist alone.

First principles: Browsers may evict site data under storage pressure. persist() asks them to keep this origin longer; estimate() reports usage/quota when available. Still not a guarantee forever.

How to use: Estimate Budget / Request Persist → read results. Export important drafts yourself.

Terms: Quota — storage ceiling for the origin. Persist — durable storage request. Eviction — browser deleting site data.
Sensors & Accessories
WebSerial / WebBluetooth Terminal
what this does — click to expand
Simple: Talk to local USB–serial gadgets or BLE devices after you approve them in the browser.

Advanced — can: Serial: baud 9600–921600, Hex TX/RX, Connect / Send / Disconnect (bidirectional). BLE central: Service + Characteristic UUIDs, Connect, Notifications (in), Write (out), Read (in). Chrome/Edge desktop recommended.



Cannot: Act as a BLE peripheral/beacon/keyboard; silent background access; USB keylogging of another PC; reliable Safari/iOS support for these APIs; talk to devices without user permission pickers.

Likely errors: Web Serial / Web Bluetooth missing; permission denied; no device selected; insecure context. Fix: use a supporting browser on HTTPS/localhost; pick a device when prompted.

First principles: Web Serial talks to USB-serial devices; Web Bluetooth acts as a BLE central to notified/writable characteristics. Both require user permission pickers and capable browsers (often Chromium desktop).

How to use: Set baud/hex → Connect Serial / Send / Disconnect; or enter BLE UUIDs → Connect / Notify / Write / Read.

Terms: Baud — serial bit rate. GATT — BLE attribute protocol. UUID — service/characteristic identifier. Central — the role this page plays toward a peripheral.
Serial
BLE (central: write out + notify/read in)
Hardware Custody Log (WebUSB · WebHID)
what this does — click to expand
Simple: After you pick a USB device in the browser prompt, this records vendor/product IDs and a plain-language note (e.g. “claims to be a keyboard”) for a custody-style log — local only.

Advanced: Progressive: navigator.usb.requestDevice / navigator.hid.requestDevice. Lists class/subclass when exposed. Flags common implant-ish combinations (HID keyboard class on a device the user expected to be storage-only) as heuristic text only — not a definitive lab finding. Optional hash of descriptor JSON for the log. Requires secure context and Chromium-class support on many machines.

Cannot: Work on browsers without WebUSB/WebHID; read devices without a per-use permission gesture; replace hardware lab attestation.

Likely errors: API missing; user cancels picker; insecure context. Fix: HTTPS or localhost; Chrome/Edge desktop; allow the prompt.

First principles: WebUSB/WebHID let you pick a device and read vendor/product identifiers for a local custody-style note. Heuristic flags are not lab attestation.

How to use: Request USB or HID device → Append to custody note.

Terms: VID/PID — vendor/product IDs. HID — Human Interface Device class. Descriptor — device metadata structure.
WebRTC P2P Text / File (SDP · QR hand-off)
what this does — click to expand
Simple: Move a short text or small file between two browsers by exchanging connection text (copy/paste or QR you generate elsewhere). No account; content stays on the peer path when it works.

Advanced: RTCPeerConnection + DataChannel. Uses a public STUN server only for NAT discovery (same class as the existing WebRTC leak dig). Offer/answer SDP is shown for manual exchange. Progressive; may fail behind strict firewalls without a TURN relay (this file does not embed a TURN credential).

Cannot: Guarantee connectivity on every network; replace a dedicated file-transfer product; avoid STUN network contact when establishing the path.

Likely errors: SDP paste incomplete; connection stuck in checking; STUN blocked. Fix: exchange full SDP; try same LAN; accept failure when only TURN would work.

First principles: WebRTC data channels move text/files between two browsers after exchanging session descriptions (SDP). STUN helps NAT discovery; strict networks may still need TURN (not embedded here).

How to use: Create offer/answer → paste remote SDP → Set remote → Send text/file when open.

Terms: SDP — Session Description Protocol. STUN — NAT discovery servers. DataChannel — peer-to-peer byte/text pipe.
Hardware Event & Sensor Inspector
what this does — click to expand
Simple: Shows tilt, motion, and keys while this tab is focused. Optional notes. Optional Chrome-oriented light/accel sensors when the browser exposes them.

Advanced — can:
  • Safari iPhone + Chrome: Device orientation, device motion, key log (while listening), notes, environment snapshot, Start/Stop without stacking.
  • Chrome/Chromium desktop (usually): Generic Sensor API — Ambient Light, Accelerometer, Gyroscope, Magnetometer when present and permitted. Feature-detected; missing APIs report "not available."
Cannot / clashes: Not a system keylogger — keys typed in other tools on this page also log while listening (Stop first). Cannot force Ambient Light / Generic Sensors on Safari iPhone (expected missing). Motion permission may be required on iOS. Not a calibrated lab instrument.





Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Sensor API missing; permission denied; no events on this device. Fix: use a mobile device where available; grant permission; try orientation/motion alternatives the panel lists.

First principles: Device orientation/motion and optional Generic Sensor APIs stream tilt, acceleration, light, etc., while enabled. Key logging only while this listener runs and only in this tab — stop before typing secrets elsewhere.

How to use: Tick sensors → Start Sensor Listen → read output → Stop Sensors. Environment Snapshot captures a one-shot summary.

Terms: DeviceMotion — acceleration/rotation rate events. Generic Sensor — AmbientLight/Accelerometer/Gyro/Mag when present. Illuminance — light level in lux.
Device Tilt · Angle(crude ROM aid)
what this does — click to expand
Simple: Uses the phone's built-in tilt sensors to show rough angles while the phone is held still against a body part or table. You can set "zero" at a starting position and see how far the phone has tilted. You can write notes. This is a learning and note-taking aid only — not a hospital measuring instrument and not for diagnosis.

Advanced: DeviceOrientationEvent (β / γ / α in degrees as provided by the browser/OS). Start registers a single non-stacking listener; Stop removes it. Zero stores the current β/γ/α as an offset; displayed Δ is current − zero. Optional thresholds on |Δβ| and |Δγ| (0 = off) trigger a short beep with ~1.5 s retrigger guard. Log Sample appends an ISO timestamp + deltas into the notes textarea (manual text only; no image binding). iOS may require permission via DeviceOrientationEvent.requestPermission . Sensor fusion, mounting error, soft-tissue motion, and motor compensation are not corrected. Precision is consumer IMU + browser path — unsuitable as a substitute for a calibrated goniometer or validated kinematic system. Not a medical device; not for diagnostic ROM claims.

Cannot: Provide clinical-grade range-of-motion measurement, detect pathology, or replace physical examination instruments.

Likely errors: Permission denied or dismissed; no camera/mic/device; API missing on this browser; another app holding the device; insecure context (non-HTTPS) where the browser requires a secure context. Fix: allow permission, use HTTPS, try another browser/device, close other apps using the hardware.

First principles: Tilt angles from DeviceOrientation can be zeroed and logged as crude range-of-motion notes. Consumer IMU + browser path — not a medical device or calibrated goniometer.

How to use: Start Angles → Zero Here at a reference pose → Log Sample into notes → Stop. Optional Δβ/Δγ alert thresholds.

Terms: Δβ / Δγ — delta from zeroed orientation. ROM — range of motion (informal). IMU — inertial measurement unit.
0 = alert off. Uses same orientation stream while Start Angles is running.
Stopped.
Binary & Firmware
Pegasus / GreyKey Extraction Artifact Parser
what this does — click to expand
Simple: Looks through extraction dumps for scary surveillance-related filenames/patterns.

Advanced: File or text dump input as labeled. Runs heuristic/regex scan for known extraction artifact name patterns. Not a live implant detector.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty paste; no pattern matches for this export shape; partial fields only. Fix: paste a fuller extract text; try another known format; this is not a GreyKey/Pegasus substitute.

First principles: Mobile extraction reports sometimes contain distinctive filenames or paths associated with known forensic/surveillance tooling. This panel regex-scans pasted text for those name patterns — it is not a live implant detector on the phone.

How to use: Paste extraction dump text → Parse Artifacts → review matches.

Terms: Extraction artifact — file/path name left by an extraction tool. Heuristic match — pattern hit, not proof of infection.
File Lab (identity · magic · hex · strings · entropy · pattern · XOR)
what this does — click to expand
Simple: Pick one file, then choose a view: what type it looks like, a hex sample, readable strings, how random it is, or search for a byte/text pattern.

Advanced: Shared filelab-in. Modes: magic signatures + extension mismatch; hex grid (first 4 KiB); ASCII strings (min length); Shannon entropy overall and per block; hex pattern with ?? wildcards or raw text search; XOR / rolling single-byte key scan (optional fixed key, else 0x01–0xFF) for a pattern under XOR. Hit lists capped. Entirely local — no upload.

Cannot: Full libmagic database; stream multi-gigabyte files without risk of freezing the tab; replace a desktop hex editor for interactive patching; multi-byte rolling ciphers beyond single-byte XOR.

Likely errors: No file chosen; unknown/truncated magic; pattern with bad hex tokens; zero string hits if min length is high; XOR scan slow on large files with empty key (full 255-pass). Fix: smaller sample, lower min length, simpler pattern, or set a single XOR key.

First principles: File lab views one local file several ways: magic/identity, hex sample, printable strings, entropy, pattern search, optional single-byte XOR scan. Classic first-pass malware/doc triage without uploading.

How to use: Select file → Identity / Hex / Strings / Entropy / Pattern / XOR as needed. Tune min string length and entropy block size.

Terms: Magic — signature bytes identifying format. Entropy — randomness 0–8 bits/byte. Wildcard pattern — hex with ?? bytes. Strings — runs of printable characters.
Entropy Heatmap (file → canvas)
what this does — click to expand
Simple: Visual map of how random each block of a file looks. Encrypted or compressed regions tend to light up; zeros stay dark.

Advanced: Shannon entropy per block (default 256 B) drawn as a 1D color strip on canvas. Scale 0–8 bits/byte. Entirely local FileReader + Canvas. Very large inputs may slow, hang, or crash this tab (memory).

Cannot: Prove encryption algorithm; replace a full forensic suite; stream multi-GB files without memory pressure.

Likely errors: No file; canvas too small on tiny inputs; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: Shannon entropy per block visualizes how random regions of a file are. Encrypted/compressed areas tend to high entropy; zero-filled areas stay low.

How to use: Select file → choose block size → Draw heatmap.

Terms: Shannon entropy — average information per byte. Block — fixed-size window along the file.
PNG Chunk Inspector
what this does — click to expand
Simple: List the internal chunks of a PNG (size, type, CRC OK?) and flag data after the end marker.

Advanced: Walk IHDR / PLTE / IDAT / IEND and ancillary chunks via DataView. Reports length, type, CRC match, and trailing bytes after IEND (common stego/append channel). Local only.

Cannot: Fully decode every ancillary semantics; repair corrupt CRCs; inspect non-PNG images.

Likely errors: Not a PNG; truncated file. Fix: confirm PNG signature in File Lab first.

First principles: PNG files are a chain of chunks (IHDR, IDAT, IEND, ancillary). Inspecting lists type/length/CRC and flags bytes after IEND (common append channel).

How to use: Select PNG → Inspect chunks.

Terms: Chunk — length+type+data+CRC unit. IEND — end marker. Ancillary — optional chunks (e.g. text).
YARA-Lite Pattern Rules
what this does — click to expand
Simple: Write simple text/hex rules and test them against a pasted buffer or local file — offline triage only.

Advanced: Rules are lines of the form name: text:foo or name: hex:48656c6c6f or name: regex:\bMZ. Optional all: / any: group lines. Not full YARA (no modules, no PE imphash, no external variables). Hit list capped.

Cannot: Run compiled native YARA; replace enterprise scanners; guarantee performance on multi-hundred-MB buffers without lag.

Likely errors: Empty rule or buffer; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: YARA-like rules match text/hex/regex patterns in a buffer for offline triage. This subset is not full native YARA (no modules, no PE imphash).

How to use: Write rules (name: text:… / hex:… / regex:…) → paste buffer or file → Run rules.

Terms: Rule — named pattern line. all:/any: — grouping modes. Hit — a successful match location.
Burn-in Image Redaction
what this does — click to expand
Simple: Draw a black box over part of an image, then re-encode so the underlying pixels are destroyed — not just covered in a layer someone can peel off.

Advanced: Canvas draw + export as PNG/JPEG. Rectangle from input coordinates (or full-width band). Flatten means the redacted region is filled before encode. Not a courtroom-grade chain-of-custody system by itself; pair with hash/manifest tools if you need integrity notes.

Cannot: Recover original pixels after burn-in; redact video frames in bulk; guarantee every metadata channel is stripped (use other tools for EXIF).

Likely errors: No image; coordinates outside bounds. Fix: load image; check x,y,w,h.

First principles: Burn-in redaction fills a rectangle with black and re-encodes so underlying pixels are destroyed — unlike a floating black box layer someone could remove.

How to use: Load image → set x,y,w,h → Burn & download PNG.

Terms: Burn-in — destructive pixel overwrite before encode. Re-encode — write a new image file without the old pixels.
ZIP / APK / JAR (list · extract)
what this does — click to expand
Simple: List what is inside a ZIP (including many DOCX/APK/JAR files) and download one entry by name.

Advanced: End-of-central-directory walk; local header extract; method 0 (STORE) copy; method 8 (deflate) via DecompressionStream('deflate-raw') when the browser provides it.

Cannot: Open password-encrypted ZIPs; support every historical compression method; full zip64 edge cases on every engine.

Likely errors: File is not ZIP; no EOCD found; entry name mismatch; deflate unsupported in this browser; corrupt entry. Fix: confirm ZIP magic in File Lab; use STORE-compressed test files if deflate fails.

First principles: ZIP (and many DOCX/APK/JAR) store files with local headers and a central directory. Listing reads entries; extract supports STORE and deflate-raw when the browser can decompress.

How to use: Load ZIP → List entries → type entry name → Extract entry.

Terms: EOCD — end of central directory. STORE — uncompressed method 0. Deflate — method 8 compression.
PE · ELF · Mach-O Header Parser
what this does — click to expand
Simple: Summarizes Windows/Linux/macOS binary headers for triage.

Advanced: File picker; Parse PE (MZ/PE sections); Parse ELF (class/endian/machine); Parse Mach-O/FAT magic and basic fields. Reads only a header prefix (first ~2 MB), not the whole binary — enough for typical header/section tables.

Cannot: Decompile to source; resolve imports fully; emulate loaders; analyze packed/obfuscated binaries deeply; replace Ghidra/IDA.

Likely errors: No file chosen; not PE/ELF/Mach-O; truncated headers; section table past the read prefix on unusual layouts. Fix: choose a matching binary with intact headers at the start.

First principles: PE/ELF/Mach-O headers describe how executables are loaded (sections, machine, endian). Parsing summarizes those fields for triage — not decompilation.

How to use: Select binary → Parse PE / ELF / Mach-O.

Terms: PE — Windows Portable Executable. ELF — Unix executable format. Mach-O / FAT — macOS binary formats. Section — named region of the file.
Intel HEX · Motorola S-Record
what this does — click to expand
Simple: Turn firmware text formats into a binary blob.

Advanced: Paste area for :HEX or S-records. Buttons: Parse Intel HEX, Parse S-Record, Download Combined Binary.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Not a ZIP; deflate unsupported entry; missing entry name. Fix: load a ZIP; type an entry path from the list. Bad record checksums or truncated lines are reported as parse errors.

First principles: Intel HEX and Motorola S-records encode firmware bytes as text lines with addresses and checksums. Parsing merges them into a binary image you can download.

How to use: Paste HEX or S-record text → Parse → Download Combined Binary.

Terms: Intel HEX — lines starting with colon. S-record — lines starting with S0/S1/…. Checksum — per-line integrity nibble/byte.
Hex Editor(Load · Edit · Save bytes)
what this does — click to expand
Simple: Edit a file as hex and save the bytes back.

Advanced: File picker, Load as Hex → editable hex textarea (hex text is ~3× the file size in memory). Normalize Hex View, Download Binary. No permanent hard size refuse — very large inputs may slow, hang, or crash this tab (memory).

Cannot: Replace a desktop hex editor for multi-hundred-MB images; keep the whole file as hex without memory cost.

Likely errors: No file chosen; invalid hex on save; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: A hex editor shows file bytes as hexadecimal and lets you edit then save a new binary. Edits are in memory; the browser and device set the practical limit.

How to use: Load as Hex → edit textarea → Normalize view or Download Binary.

Terms: Hex byte — two hex digits. Normalize — reformat spacing without changing values.
Endian · Bitfield · Shellcode Lab
what this does — click to expand
Simple: Interpret numbers/bytes, show bits, scan for awkward shellcode bytes.

Advanced: Value/hex field. Bit width field. Buttons: Endian Decode, Bitfield, Shellcode Bad Chars.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty paste; checksum errors. Fix: paste Intel HEX or S-record lines.

First principles: Endianness is the byte order of multi-byte integers. Bitfields extract bit slices; shellcode bad-char scans list awkward bytes for exploit development education.

How to use: Enter hex or integer → Endian Decode / Bitfield / Shellcode Bad Chars.

Terms: Little-endian — least significant byte first. Big-endian — opposite. Bad chars — bytes that break a particular transport/encoder.
Binary Diff · Magic Carve
what this does — click to expand
Simple: Compare two binaries or find embedded JPEG/PNG/PDF-looking starts.

Advanced: File A and File B pickers. Buttons: Diff A vs B, Carve Magics in A (JPEG/PNG/ZIP/PDF/GZIP/ELF).



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Missing files; Very large inputs may slow, hang, or crash this tab (memory). Fix: reload (clear cache if needed), reread [?], try a smaller sample or a native tool if this environment cannot finish.

First principles: Binary diff compares two files byte-wise; magic carve searches one file for embedded format signatures (JPEG/PNG/ZIP/PDF/…).

How to use: Select A and B → Diff; or Carve Magics in A.

Terms: Carve — find embedded files by signature. Magic — format identifier bytes.
CRC Workbench(Embedded polys)
what this does — click to expand
Simple: Compute common embedded CRC checksums on hex data.

Advanced — can: Polys: CRC-32 IEEE, CRC-32C, CRC-16-CCITT, CRC-16-Modbus, CRC-8, CRC-8-Maxim.



Cannot: Auto-discover unknown proprietary polys; validate a whole protocol stack beyond the checksum field.

Likely errors: Empty input; invalid hex. Fix: paste hex or an integer.

First principles: CRC algorithms detect accidental bit errors with polynomial division. Different protocols use different polys (CRC-32 IEEE, CRC-16-Modbus, …).

How to use: Paste hex payload → choose poly → Compute CRC.

Terms: Polynomial — generator defining the CRC. CRC-32C — Castagnoli variant. Modbus — industrial protocol using CRC-16-Modbus.
Bus Decode(I²C · SPI · CAN · UART paste)
what this does — click to expand
Simple: Helps interpret pasted I²C/SPI/CAN/UART-style dumps.

Advanced — can: Heuristic I²C-ish addr decode; SPI chunk split; CAN ID/DLC lines; UART timestamp strip.



Cannot: Capture live logic-analyzer streams; auto-detect wire protocols from analog samples; replace Saleae/PulseView analysis.

Likely errors: Empty or short hex; framing does not match selected protocol. Fix: paste hex that matches the decoder mode; short buffers return incomplete decode, not a lab-grade protocol analyzer.

First principles: Logic exports of I²C/SPI/CAN/UART are often hex timelines. Heuristic decoders split frames and label addresses/IDs for readability — not a full protocol analyzer.

How to use: Paste hex lines → I²C-ish / SPI / CAN / UART buttons.

Terms: I²C — two-wire bus with addresses. SPI — clocked serial bus. CAN — vehicle bus with ID/DLC. UART — asynchronous serial.
6502 Educational Disassembler
what this does — click to expand
Simple: Turns 6502 machine bytes into assembly-style mnemonics for learning.

Advanced — can: Hex bytes input; base address (default 0x0600); partial official-ish opcode map → listed disassembly.



Cannot: Disassemble x86/ARM/RISC-V programmatically here; decompile; cover undocumented 6502 ops completely; analyze modern firmware ISAs.

Likely errors: Empty hex. Fix: paste payload bytes as hex. Bytes past the supplied buffer are not read; unknown opcodes show as data. Educational 6502 only.

First principles: A disassembler turns machine bytes into assembly mnemonics. This educational map covers common 6502 opcodes only — not x86/ARM production analysis.

How to use: Paste hex 6502 bytes → optional base address → Disassemble 6502.

Terms: Opcode — instruction byte. Mnemonic — human name (LDA, STA…). Base address — assumed load address for listing.
Opcode / ABI Quick Reference
what this does — click to expand
Simple: Cheat sheet for common instructions and how arguments are passed.

Advanced: Select: x86-64 common, ARM64 common, RISC-V common, SysV/AArch64 ABI args. Button: Show Reference.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty hex lines. Fix: paste logic-export style hex.

First principles: Opcode/ABI references are cheat sheets for common instructions and how arguments are passed in calling conventions. Static text lookup, not a live emulator.

How to use: Pick architecture/ABI → Show Reference.

Terms: ABI — application binary interface. SysV — common Unix calling convention. AArch64 — 64-bit ARM.
Firmware Footprint / Boot Signatures
what this does — click to expand
Simple: Map empty vs dense regions and search for common boot strings in a firmware blob.

Advanced: Block entropy tags; ASCII signature hits via byte search (not one giant full-file string); 0x00/0xFF density. No permanent hard size refuse — large files show a status line then load; very large inputs may slow, hang, or crash this tab (memory).

Cannot: Extract vendor-encrypted firmware; emulate bootloaders; identify every SoC layout.

Likely errors: No file chosen; tab may hang or crash on very large inputs; reload and reread [?]; signature false positives. Fix: try a smaller sample or a native tool if this environment cannot finish.

First principles: Firmware images often mix empty regions, dense code, and ASCII banners (boot strings). Scanning entropy density and signatures maps those regions for first-pass orientation.

How to use: Select firmware blob → Scan Regions + Signatures.

Terms: Boot signature — recognizable ASCII/banner strings. Density — how non-zero a region is. SoC — system-on-chip (layout not fully identified here).
Calculator & Clocks
Scientific Calculator
what this does — click to expand
Simple: Type or tap an expression, get a result. Degrees or radians for angle functions. Memory keys store one number. Helpers for tip, split, percent, and ratio are below the pad.

Advanced: Expression is parsed with a shunting-yard tokenizer — only numbers, operators, parentheses, and a fixed function list (no eval of arbitrary script). Constants: pi, e. Unary minus; ^/ ** power. IEEE-754 floats only.
Button names: C = Clear expression · ⌫ = Backspace · MC = Memory Clear · MR = Memory Recall · M+ = Memory Add · M− = Memory Subtract · sin/cos/tan/asin/acos/atan = trigonometric (use Deg/Rad) · sinh/cosh/tanh = hyperbolic · ln = natural log · log = log base 10 · log2 = log base 2 · exp = e^x · √ = square root · ∛ = cube root · n! = factorial · abs = absolute value · floor/ceil/round = integer rounding · π = pi · e = Euler's number · ^ = power · 1/x = reciprocal · ÷ × − + = divide multiply subtract add · Ans = last answer · EE = scientific exponent (inserts e) · ± = insert minus · = = evaluate.
Helpers: Tip = bill × (1+tip%) · Split = bill / people · Percent = x% of y → y*x/100 · Ratio a:b of total → parts.

Cannot: Symbolic algebra, exact fractions, unbounded factorial, or evaluate hostile script.

Likely errors: Domain error or empty expression; overflow. Fix: check inputs; read Error: lines from the calculator.

First principles: A scientific calculator evaluates arithmetic and standard functions with a controlled parser (not arbitrary script eval). Angle mode affects trig. Memory holds one number.

How to use: Enter expression or use keys → = ; use Deg/Rad; MC/MR/M+/M−; helpers for tip/split/percent/ratio.

Terms: Shunting-yard — expression parsing method. Unary minus — negative sign on a number. Ans — last result. Factorial — n! for modest integers.
M: empty
0
Tip% Split % Ratio
Unit Converter
what this does — click to expand
Simple: Convert units (distance, data size, speed, etc.).

Advanced: Value input, from-unit and to-unit selects across categories (length, data, speed, temp, etc.). Convert button. Temperature uses special formulas; others linear factors.



Cannot: Replace a full offline lab suite; invent data the browser or file does not provide.

Likely errors: Empty or non-numeric value; unknown unit pair; conversion factor not in this table. Fix: enter a number; pick from/to units the panel lists.

First principles: Unit conversion multiplies by known factors (or uses special formulas for temperature). Categories include length, mass, volume, data size, pressure, and more.

How to use: Enter value → pick from/to units → Convert.

Terms: SI — metric base units. Binary prefix — KiB/MiB (powers of 1024) vs KB/MB (powers of 1000). Factor — multiplier between units.
Stopwatch
what this does — click to expand
Simple: Start, stop, lap, and reset a stopwatch that runs in this browser tab.

Advanced: Uses performance.now() deltas for the running display; lap times are listed under the controls. Timing is best when the tab stays in the foreground — background tabs may throttle timers.

Cannot: Run reliably with the tab discarded; replace a certified timing device or race clock; survive a full page reload (state is in-memory only).

Likely errors: Timer appears frozen if the tab is backgrounded or discarded; laps clear on Reset. Not a calibrated lab instrument.



First principles: A stopwatch measures elapsed time from a start moment using a high-resolution timer, independent of wall-clock time zone. Laps record intermediate splits without stopping the main clock. How to use: Press Start to begin. Stop freezes the display without clearing. Lap records the current split while running. Reset zeroes the clock and clears the lap list. Export the display or lap box if you need a copy of the numbers.

Works with: Countdown Timers, Simple Alarm, Screen Stay-On (keep the display awake during a long timed task).

Terms: Lap — a split time recorded without stopping the overall clock. performance.now() — high-resolution browser clock used for elapsed time, independent of wall-clock adjustments while the page is open.
00:00:00.0
Countdown Timers (×3)
what this does — click to expand
Simple: Three independent countdowns. Start, pause, and reset each. A short beep can play when a timer hits zero (if the browser allows sound).

Advanced: Each timer uses its own 1-second interval. Web Audio beep at zero when allowed. Not OS notifications and not a system alarm — only while this tab lives.

Cannot: Alert after this tab is closed or discarded; wake a locked phone; replace a hardware kitchen timer or OS notification.

Likely errors: No beep until audio is allowed (tap the page once); throttling in background tabs; stops if the page is killed.



First principles: A countdown subtracts from a chosen duration until zero. Independent slots let you time multiple intervals at once. Beeps are local Web Audio tones, not OS notifications that survive a closed tab. How to use: Set minutes/seconds on a slot, press start on that slot, pause or reset as needed. Use multiple slots for parallel tasks (e.g. one for rest, one for work). Keep the tab open for reliable zero alerts.

Works with: Stopwatch, Simple Alarm (absolute clock time, continuous ring), Screen Stay-On.

Terms: Independent slots — each of the three timers runs on its own interval and does not reset the others. Zero beep — a short local oscillator tone, not a push notification.
All idle.
Simple Alarm
what this does — click to expand
Simple: Set a local clock time. When it hits, this tab beeps loudly and repeatedly until you press Stop ringing (or Clear). Meant to help wake someone while the tab stays open.

Advanced: Compares local Date about twice per second. On match, starts a continuous Web Audio beep loop (alternating high tones, ~4 beeps/sec) and shows ALARM status. Ringing continues until Stop ringing, Clear, or session release. Not a system/OS alarm — the browser tab must stay alive.

Cannot: Wake a killed tab, locked phone, or discarded background page for a guaranteed ring; replace a hardware alarm clock or phone system alarm.

Likely errors: Will not ring if the tab is sleeping, discarded, or the phone screen policy kills the page; autoplay policies may mute sound until you have interacted with the page; time is the device clock, not network-attested time. Fix: keep the tab foreground after setting; tap the page once if sound is blocked; use Stop ringing to silence.



First principles: An alarm compares the device’s local clock to a target hour:minute. When they match, this page starts a continuous beep loop so a person is more likely to notice — but only while the tab remains active. Stopping requires an explicit Stop ringing (or Clear / session release). How to use: (1) Pick a time with the time control. (2) Press Set alarm. (3) Leave this tab open in the foreground if you need a reliable ring. (4) When it fires, press Stop ringing to silence the continuous beep. (5) Clear cancels a pending alarm and also stops ringing if active.

Terms: Local clock — this device’s time zone and clock, not a network time server. Continuous beep loop — repeated oscillator tones until stopped. Session release — Origin · Runtime tool that stops live timers including this alarm.
No alarm set.
Live Clock · Timezones
what this does — click to expand
Simple: Shows current local time and a few fixed world zones, updating about every second.

Advanced: Uses Intl.DateTimeFormat with IANA zone names when the engine’s ICU data supports them (Local, UTC, New York, London, Tokyo). Display-only — no network time sync.

Cannot: Replace a network time authority (NTP); guarantee every IANA zone on every browser; correct a wrong device clock.

Likely errors: A timezone line may say unavailable if the browser lacks that IANA zone; display follows the device clock (not network time).



First principles: Civil time is local to a time zone. Showing several zones at once is the same instant labeled with different offsets/names so people can coordinate. The numbers come from the device clock and browser zone data, not a network time authority. How to use: Open this panel — the readout updates on its own. Compare zones when coordinating calls. For converting a specific timestamp, use Global Timezone Converter or Epoch ↔ Local Date Converter.

Works with: Global Timezone Converter, Multi-Zone Meeting Planner, Simple Alarm.

Terms: IANA zone — standard name like America/New_York. ICU — the locale/time data pack inside the browser; older or slim builds may miss some zones.
Screen Ruler(calibrate once)
what this does — click to expand
Simple: Drag a bar, read length in pixels. After calibration against a real object (credit card, etc.), also shows mm/inches.

Advanced: Stores mm-per-CSS-pixel in localStorage key ruler-mm-per-px. Default credit-card width target 85.60 mm (ISO/IEC 7810 ID-1). Uncalibrated mode is CSS pixels only — not physical truth. Recalibrate after display/scaling changes.

Cannot: Read true mm from the OS without your calibration; survive OS zoom that invalidates the factor.

Likely errors: Uncalibrated mode is CSS pixels only; calibration is wrong after display scaling changes; clear calibration and redo against a known object if numbers look off.

First principles: On-screen length in CSS pixels is not physical mm until you calibrate against a real object (e.g. credit card width). Calibration stores mm-per-pixel in localStorage.

How to use: Drag the bar → Calibrate as credit-card or custom mm → read length. Recalibrate after display scaling changes.

Terms: CSS pixel — layout pixel, may differ from hardware pixels. Calibration — mapping pixels to real mm. ID-1 card — 85.60 mm standard width.
Drag the handle. Match the bar to a known object, then Calibrate.
Display · Viewport Inspector
what this does — click to expand
Simple: Screen and window sizes, pixel ratio, orientation, color depth.

Advanced: screen, visualViewport, devicePixelRatio, screen.orientation, matchMedia preferences. Complements fingerprint meta and Screen Ruler (ruler is for calibrated mm).

Cannot: True physical millimeters without calibration; multi-monitor layout on all engines.

Likely errors: Some fields missing on older engines — report what is available.

First principles: Display diagnostics report screen size, pixel ratio, orientation, and viewport metrics the browser exposes. Physical mm still needs ruler calibration.

How to use: Press Refresh → read screen/viewport fields.

Terms: devicePixelRatio — hardware pixels per CSS pixel. visualViewport — visible layout area. Orientation — portrait/landscape API when present.
Trading · Size & Risk
Equity Ticket · P&L Solver (long · short · steppers)
what this does — click to expand
Simple: Desk math for share trades you already plan to route in a platform (examples: DAS, IBKR). Enter side, shares, prices, and fees; step shares in 1 / 10 / 100 / 1 000; solve for the blank field you care about (net P&L, exit, entry, or shares). Offline only — no quotes and no orders.

Advanced: Side Long: open = buy, close = sell; Gross = (Exit − Entry) × Shares. Side Short: open = sell, close = buy-to-cover; Gross = (Entry − Exit) × Shares. Fees = ticket + (per-share × shares) + other (all user-typed; not a live broker schedule). Net = Gross − Fees. Notional ≈ Shares × Entry. ¢/share net = Net / Shares × 100. Solve target: leave that quantity to compute from the others. Share buttons adjust the shares field only. Round-trip story example: 100 000 sh long, entry 10, exit 12.50 → gross before fees is (12.50−10)×100 000.

Cannot: Place, cancel, or route orders; know locate/HTB status; apply your real IBKR/DAS fee tier automatically; model halts, slippage, or partial queue quality; replace the broker blotter.

Likely errors: Non-numeric fields; solve target needs a missing input (example: solve Exit with no Entry); shares ≤ 0. Fix: fill the independent prices/qty/fees, then Solve.

First principles: Equity P&L math: long profits when exit > entry; short when entry > exit. Fees reduce net. This solves desk arithmetic offline — it does not place orders or know your broker schedule.

How to use: Pick side and solve target → enter shares/prices/fees → Solve. Use share steppers as needed.

Terms: Long/Short — direction of the trade. Notional — shares × price. Net P&L — gross minus fees. Locate — optional short-borrow cost line.
Position Size from Risk
what this does — click to expand
Simple: Given how much money you are willing to lose on the idea and where your stop is, shows the maximum share size. Works for long (stop below entry) and short (stop above entry).

Advanced: Risk $ = equity × (risk % ÷ 100) when % mode is used, or a fixed risk $ you type. Stop distance = |Entry − Stop|. Max shares = floor(Risk $ ÷ stop distance) then rounded down to the share step (default 1). Optional: also show notional at entry. Does not read the Equity Ticket panel (no cross-write).

Cannot: Know your real buying power, PDT status, or margin; place the order; guarantee the stop fills at that price.

Likely errors: Stop distance zero; risk ≤ 0; missing entry/stop. Fix: use a stop not equal to entry.

First principles: Position sizing from risk: decide how many dollars you can lose, divide by stop distance, get max shares. Does not know margin or PDT rules.

How to use: Pick side and risk mode → enter equity/risk and entry/stop → Compute max shares.

Terms: Stop distance — |entry − stop|. Risk % — fraction of equity at risk. Share step — round down to lot size.
Multi-Fill Average Price
what this does — click to expand
Simple: Average price of several fills (your executions, not exchange VWAP). One fill per line: qty @ price or qty price.

Advanced: VWAP of fills = Σ(qty×price) / Σ(qty). Total shares and total notional reported. Ignores blank lines. Does not modify other trading panels.

Cannot: Pull fills from DAS/IBKR; know which fills belong to which order id unless you type them.

Likely errors: Malformed lines; zero total qty. Fix: example line 5000 @ 10.12.

First principles: Average fill price is the volume-weighted average of your executions: sum(qty×price)/sum(qty). Not exchange VWAP of the whole market.

How to use: Paste lines like 5000 @ 10.12 → Average.

Terms: Fill — one execution. VWAP of fills — your average, not the tape’s.
Options Premium · Payoff (calls · puts · vertical)
what this does — click to expand
Simple: Offline premium P&L and an expiry payoff grid for the structures in this panel’s Structure list only. Default US equity multiplier is 100 (editable). You type premiums and strikes — no live OPRA quotes.

Advanced: Structure menu options that exist here: long call, short call, long put, short put, bull call vertical (debit), bear put vertical (debit). Premiums are typed as positive prices; long premium profits when exit > entry, short when exit < entry. Fees are a single total $ line. Verticals use low strike + high strike and treat entry as the net debit paid; payoff at each typed underlying spot is intrinsic (or spread value) minus that debit, times multiplier × contracts, minus fees. Premium P&L button uses entry/exit premiums when exit is filled; open-only when exit is blank. There is no separate max-profit/max-loss summary line — only the spot grid and premium P&L. Credit spreads and other structures are not in this menu.

Cannot: Stream quotes; early-exercise optimization; margin from the clearing firm; structures not listed in Structure; a dedicated max-profit/max-loss readout beyond evaluating your spot list; replace an options risk system.

Likely errors: Multiplier ≤ 0; contracts ≤ 0; empty spots list for grid; vertical without a second strike above the first. Fix: use 100 for US equity options unless you know a different deliverable; supply K2 > K for verticals.

First principles: Options P&L depends on premiums, strikes, multiplier (often 100), and structure (long/short call/put or debit verticals). Payoff at expiry uses intrinsic value vs what you paid. Offline model — no live OPRA quotes.

How to use: Pick structure → contracts/mult/strikes/premiums/fees → Premium P&L and/or expiry payoff grid with spot list.

Terms: Premium — option price. Multiplier — shares per contract (US equity default 100). Vertical — spread of two strikes. Intrinsic — value if exercised now at a spot.
Delta ↔ Share Equivalent
what this does — click to expand
Simple: Converts option contracts and a delta you supply into approximate share-equivalent exposure (and the reverse). Default multiplier 100.

Advanced: Share-equiv ≈ delta × multiplier × contracts (signed: short contracts or negative delta flip sign as you enter them). Reverse: contracts ≈ share-equiv / (delta × multiplier). Display only — does not write into the Equity Ticket (composition non-interference).

Cannot: Know live delta; account for gamma path; replace a risk book.

Likely errors: Delta or multiplier zero when solving contracts. Fix: use your platform’s delta readout as input.

First principles: Delta estimates how much an option’s price moves when the underlying moves $1. Share-equivalent ≈ delta × multiplier × contracts. Display only.

How to use: Enter delta, multiplier, contracts or share-equiv → convert either direction.

Terms: Delta — hedge ratio roughly between −1 and 1 per share equivalent. Share-equivalent — underlying exposure proxy.
Black–Scholes · Greeks (model)
what this does — click to expand
Simple: Theoretical European call/put price and standard Greeks from inputs you type (spot, strike, time, rate, dividend yield, volatility). A model for education and cross-checks — not a live market price.

Advanced: Black–Scholes–Merton with continuous dividend yield q. Time T in years = days / 365 (calendar convention here; some desks use 365.25 or business-day counts — adjust days if you need a different convention). IV is decimal (0.25 = 25%). Greeks: delta, gamma, theta (per calendar day ≈ annual/365), vega (per 1 vol point), rho (per 1% rate). Industry-style closed form; no implied-vol solver in this panel.

Cannot: American early exercise; discrete dividends; borrow fees; match OPRA; guarantee IV you typed is “fair.”

Likely errors: T ≤ 0; σ ≤ 0; extreme values overflowing. Fix: use small positive days and vol (example: 30 days, 0.25 vol).

First principles: Black–Scholes–Merton prices European options from spot, strike, time, rate, dividend yield, volatility and yields Greeks (delta, gamma, theta, vega, rho). Educational model — not a live market price.

How to use: Enter S, K, days, r, q, vol → Price + Greeks.

Terms: IV / σ — implied or input volatility. Theta — time decay. Vega — sensitivity to vol. European — exercise only at expiry in the basic model.
Health Notes
Dose & Unit Helper(calculator only)
what this does — click to expand
Simple: A calculator for medicine math you already decided. You enter the person's weight and the numbers from the order or bottle. It multiplies and divides only. It does not choose the medicine or the dose for you. Always check the result against the written order.

Advanced: Weight input with kg or lb (lb → kg using × 0.45359237). Optional fields: ordered mg/kg; concentration as mg/mL. Output: total mg = (mg/kg)×(kg); volume mL = total mg ÷ (mg/mL) when concentration > 0. Separate mcg↔mg helper (×/÷ 1000) on a single value. No renal/hepatic adjustment, no BSA model, no time-based infusion scheduler beyond what you compute by hand. Rounding is plain JavaScript floating point — verify clinically meaningful digits yourself. This is a general-purpose calculator UI, not a regulated dose-checking product and not linked to any formulary.

Cannot: Select drugs, validate orders, detect interactions, replace pharmacy double-check, or act as a medical device for dosing decisions.

Likely errors: Non-numeric delta/contracts. Fix: enter finite numbers.

First principles: Dose math multiplies ordered mg/kg by weight and can divide by concentration to get volume. Calculator only — does not choose the drug or replace clinical judgment.

How to use: Enter weight (kg/lb) → optional mg/kg and mg/mL → read total mg and mL; separate mcg↔mg helper.

Terms: mg/kg — milligrams per kilogram. Concentration — mg per mL. mcg — micrograms (×1000 vs mg).
Not medical advice. Verify every result against your formulary / order.
Bilateral Session Log
what this does — click to expand
Simple: A simple visit log. Choose left side, right side, or both. Optionally write a pain number from 0 (no pain) to 10 (worst). Add a short note. Entries stack in a list you can save on this device or export as text.

Advanced: Append builds a line: ISO-8601 time, side tag [L|R|Both], optional region string, optional pain integer/float as entered, free-text note. In-memory array + optional localStorage JSON persistence. Clear wipes memory and stored key after confirm. Pain scale is unstructured numeric input (not automatically a VAS/NRS instrument with anchors beyond the placeholder). No laterality validation against anatomy, no ICD/procedure coding, no EHR sync. Intended for clinician or patient self-report journaling in the field.

Cannot: Diagnose, score validated outcome instruments, or replace the legal medical record.

Likely errors: Non-positive inputs where required; invalid vol. Fix: check S,K,T,r,q,σ fields.

First principles: A bilateral log records paired left/right measurements or notes for comparison over sessions. Local note-taking aid.

How to use: Enter left/right values and notes per the panel controls → save/export as offered.

Terms: Bilateral — both sides. Session — one recording occasion.
Rep / Hold Counter
what this does — click to expand
Simple: A tap counter for exercise repetitions or held positions. Name the exercise if you want. Each time you press log, it writes the time and the count. It cannot see whether the movement was done correctly.

Advanced: Integer counter with + / − (floor at 0) / Reset. Log Snapshot appends ISO timestamp + label string + count to an in-session text log shown in the output box. No automatic set/rest periodization, no sensor-based rep detection, no form analysis. Useful as a manual aid during supervised or home exercise; prescription and progression remain clinical decisions outside this tool.

Cannot: Verify technique, load, or therapeutic appropriateness of exercise.

Likely errors: Non-numeric weight or dose. Fix: enter numbers; this is not clinical advice.

First principles: Rep counting tallies repetitions for exercise or practice sessions. Simple counter state in the page.

How to use: Use increment/reset controls as labeled; record totals if you need a log elsewhere.

Terms: Rep — one repetition. Set — group of reps when you track that manually.
0
Outcome Mini-Form(pre / post)
what this does — click to expand
Simple: Write how strong the pain feels and how well the person can move or function, from 0 to 10, before and after a session. You can add a short note. The tool shows the change in numbers. These numbers are only what someone typed — not a full research questionnaire.

Advanced: Four numeric fields (pain pre/post, function pre/post) + free-text note. Build Summary prints ISO time, each score, and arithmetic delta (post − pre) when both sides of a pair are numeric. Save Local stores field values in localStorage . This is an informal 0–10 snapshot, not a licensed PROM (e.g. not ODI, KOOS, PROMIS CAT). No minimal clinically important difference (MCID) interpretation is applied. Suitable for personal or clinic note support only; not for regulated outcome reporting or billing justification by itself.

Cannot: Provide validated outcome measurement, population norms, or automated clinical interpretation.

Likely errors: Empty entry. Fix: fill left/right or notes before saving.

First principles: Outcome forms capture structured yes/no or scale results for personal tracking. Not a clinical registry.

How to use: Fill the fields the panel shows → save/export per controls.

Terms: Outcome — recorded result of an event or session. Scale — ordered rating when present.
Quick Exit · Trace Wipe
what this does — click to expand
Simple: One control jumps this tab to a neutral page and tries to replace the history entry so the previous URL is harder to see in Back. Another clears all localStorage and sessionStorage for this origin (product keys, operator-chosen keys, orphans) — not your whole browser.

Advanced: location.replace to a neutral URL (default Wikipedia or about:blank) plus history.replaceState best-effort. Trace Wipe calls clear() on this origin’s localStorage and sessionStorage. Does not clear other sites, downloads, cookies for other origins, IndexedDB/Cache Storage, or OS history. Not a guarantee against forensic recovery of RAM or disk artifacts.

Cannot: Erase ISP/router logs; wipe another origin; clear IndexedDB/Cache Storage from this control; defeat a full disk image; undo a screenshot already taken.

Likely errors: Popup/redirect blocked; private mode storage already empty. Fix: allow navigation; understand wipe is best-effort for this origin only.

First principles: Quick exit navigates away; Trace Wipe empties this origin’s web storage so product drafts and any operator-written keys are gone from this browser profile for this site.

How to use: Press Exit now to leave; press Trace Wipe to clear this origin’s local/session storage. Neither clears other sites or the OS.

Terms: Quick exit — rapid leave action. Trace Wipe — clear all localStorage + sessionStorage for this origin.
Emergency Phrases · Numbers
what this does — click to expand
Simple: Short emergency phrases in several languages you can speak aloud, plus common emergency numbers by country. Offline data only.

Advanced: Static phrase table + speechSynthesis when available. Country → police/fire/ambulance numbers from a small bundled list (not exhaustive; verify for the location you are in). Same class of tool as the Morse table — useful when you have only this tab.

Cannot: Replace local emergency services knowledge; guarantee number accuracy after national changes; work without an OS voice pack for speech.

Likely errors: Speech blocked until gesture; number list incomplete for some regions. Fix: tap after a gesture; confirm numbers with local sources when possible.

First principles: Emergency phrase boards show prepared lines you can show or speak (speechSynthesis when available) when communication is hard. Not a substitute for calling emergency services.

How to use: Pick or speak a phrase; use with system volume unmuted.

Terms: TTS — text-to-speech. Phrase board — fixed list of messages.
Emergency numbers (bundled, verify)
Rights · Consent Scripts
what this does — click to expand
Simple: Short, plain scripts you can read aloud or show on screen when you need clear language about consent, counsel, and searches. Copy or speak. Not legal advice.

Advanced: Fixed, jurisdiction-agnostic formulations intended to be calm and usable in front of counsel, officers, or clinicians. Timestamps optional when you copy a log line. Does not adapt to local statute; does not create an attorney-client relationship.

Cannot: Replace a lawyer; guarantee any outcome; speak for you in court; apply every country's rules.

Likely errors: Treating a script as a complete legal strategy; speech blocked until a gesture. Fix: use with counsel when available; tap before Speak.

First principles: Clear, consistent statements reduce ambiguity under stress; law still depends on jurisdiction and facts.

How to use: Select a script → Copy or Speak → optional “Log line” adds a timestamped copy to the output box for your records.

Terms: Consent — voluntary agreement. Counsel — a lawyer. Script — prepared wording, not a filing.

Works with: AAC Communication Board, Emergency Phrases · Numbers, Markdown Editor.
AAC Communication Board (tap · speak)
what this does — click to expand
Simple: Large buttons with common phrases. Tap to speak them aloud using the device’s built-in voice (no account, no network after the OS voice is installed).

Advanced: speechSynthesis with a fixed phrase grid. Optional custom phrase field. Voice depends on the OS/browser language pack. Not a full clinical AAC system; no symbol library beyond text labels.

Cannot: Guarantee a voice is installed offline; replace a prescribed AAC device; work if speechSynthesis is missing or blocked.

Likely errors: No voices listed; silent on some mobile browsers until user gesture. Fix: tap after a user gesture; install an OS voice pack.

First principles: AAC boards provide symbol/text buttons for alternative communication. Local UI only.

How to use: Tap phrases/symbols as laid out; optional speech if enabled.

Terms: AAC — Augmentative and Alternative Communication. Utterance — spoken line from speechSynthesis.
Survival Beacon Macro
what this does — click to expand
Simple: One control that tries to keep the screen awake, plays a loud periodic tone, and can speak a short phrase — for signaling when you cannot operate many separate tools. User-started only. It does not change other tools' fields or results.

Advanced: Orchestrates the same browser primitives used elsewhere on this page (Screen Wake Lock, Web Audio tones, optional speechSynthesis) without writing into those other panels' inputs or outputs. Related panels for comparison: Screen Stay-On, CPR Rate Metronome · Choking Ref, AAC Communication Board. Status updates stay on this panel. Stop ends tones and releases the wake lock held by this macro only. Not a certified emergency beacon; does not contact any network service.

Cannot: Guarantee audio on silent/locked devices; replace SOS hardware or official emergency apps; work without a user gesture for audio/speech on many browsers; claim ownership of other panels' UI state.

Likely errors: Wake Lock denied; autoplay blocked; tab backgrounded throttles timers. Fix: start after a tap; keep the tab visible.

First principles: A survival beacon macro can hold the screen awake and emit tones/speech locally to attract attention. Not a certified emergency beacon and contacts no network service.

How to use: Start the beacon features offered → Stop to release wake lock and tones.

Terms: Wake lock — keep display on. Macro — orchestrates existing local primitives without rewriting other panels.

Works with: Sat-Phone Field Reference, SBD / Short-Burst Text Prep, Screen Stay-On.
Idle
START Triage Guide (decision tree)
what this does — click to expand
Simple: Step-through prompts based on the START mass-casualty triage idea (walking / breathing / circulation / mentation) that end on a color category. Training and last-resort reference only — not a substitute for trained responders.

Advanced: Local decision tree only; no network; no automatic vital sensing. Categories: Immediate (red), Delayed (yellow), Minor (green), Expectant (black). Local protocols and training always outrank this page.

Cannot: Diagnose; replace EMS/medical control; measure actual respirations or capillary refill for you.

Likely errors: Mis-clicked answers. Fix: restart the tree; use only as a memory aid after training.

First principles: START-style triage is a mass-casualty sorting heuristic (walking / breathing / circulation tags). Educational reference only — follow official training and local protocols.

How to use: Use the prompts/timers as labeled for practice; real incidents need trained responders.

Terms: START — Simple Triage and Rapid Treatment concept. Tag — priority color/category.
Press Start.
Poison · Exposure Decision Tree
what this does — click to expand
Simple: Step-through questions for a possible poisoning or chemical exposure. Ends on clear next actions (get help, remove from source, do not do X). Educational / last-resort memory aid only.

Advanced: Local decision tree only. Branches on scene safety, route (swallowed / skin / inhaled / eye), consciousness, and seizures. Does not identify specific products or doses. Always prefer local poison control / emergency number when reachable.

Cannot: Diagnose; replace poison control or EMS; list antidotes for named drugs; guarantee outcome.

Likely errors: Wrong branch click; using this instead of calling for help when a phone works. Fix: restart tree; call emergency / poison control when available.

First principles: First-aid exposure logic prioritizes rescuer safety, removing ongoing exposure, and rapid professional help over home remedies.

How to use: Start → answer each step → follow the final action list → export/copy the path if useful for responders.

Terms: Route — how the substance contacted the body. Poison control — specialist telephone guidance where available.

Works with: Emergency Phrases · Numbers, ICE card, CPR Rate Metronome · Choking Ref.
Press Start.
Bleeding Control · Pressure Timer
what this does — click to expand
Simple: A checklist and running timer for severe bleeding control while you wait for help. Logs timestamps when you mark steps done.

Advanced: Local timer + step log (direct pressure → pack wound → pressure bandage → note time). Optional continuous soft tick. Does not detect bleeding or place devices for you. Tourniquet concepts are high-level only — training required.

Cannot: Replace Stop the Bleed / EMS training; measure blood loss; decide surgery.

Likely errors: Tab background throttles timer; autoplay blocks tick. Fix: keep tab foreground; start after a tap.

First principles: Life-threatening limb/junctional bleeding is slowed by firm, continuous pressure and rapid professional care; time stamps help later clinicians.

How to use: Press Start timer → apply pressure → mark steps as you complete them → Stop when handoff occurs → copy the log.

Terms: Direct pressure — firm pressure on the wound. Packing — filling a wound cavity with gauze when trained and appropriate.

Works with: CPR Rate Metronome · Choking Ref, START Triage Guide, Emergency Phrases · Numbers.
Idle — press Start timer when pressure begins.
Vitals → Triage Band
what this does — click to expand
Simple: Enter breathing rate, pulse, and whether the person can follow simple commands. Get a crude color band (green / yellow / red / black-expectant style) for sorting under stress.

Advanced: Pure local thresholds inspired by mass-casualty teaching ranges (e.g. RR and mentation gates). Not continuous monitoring. Not a hospital early-warning score. Complements the START click-tree with numeric inputs you supply.

Cannot: Measure vitals for you; replace trained triage or medical control; certify death.

Likely errors: Empty fields; nonsense numbers. Fix: enter RR and pulse as counts per minute; answer mentation yes/no.

First principles: Sorting uses a few physiologic and mentation signals to prioritize limited rescuers — numbers are aids, not truth.

How to use: Count breaths and pulse → enter → Calculate → use band only as a memory aid while calling for help.

Terms: RR — respirations per minute. Mentation — ability to follow simple commands.

Works with: START Triage Guide, Bleeding Control · Pressure Timer.
Cold · Heat Exposure Risk Calc
what this does — click to expand
Simple: Enter air temperature, wind, and whether clothing is wet. Get wind-chill or heat-index style numbers and a plain-language risk band.

Advanced: Uses standard NWS-style wind chill (for cold + wind) and a simplified heat-index approximation when hot. Wet clothing raises cold risk one band. Environmental planning only — not a medical diagnosis of hypothermia or heat stroke.

Cannot: Read sensors for you; account for every clothing system; replace local weather service warnings.

Likely errors: Missing temp; wind used in heat mode incorrectly. Fix: enter °C or °F as labeled; wind in km/h or mph as labeled.

First principles: Wind removes insulating air; humidity impairs cooling; wet clothing conducts heat away faster.

How to use: Enter conditions → Calculate → read band and suggested precautions → leave the environment if risk is high.

Terms: Wind chill — apparent cold with wind. Heat index — apparent heat with humidity.

Works with: Survival Beacon Macro, ICE card.
CPR Rate Metronome · Choking Ref
what this does — click to expand
Simple: A steady click near 100–120 per minute to pace chest compressions while waiting for help, plus American Red Cross–style adult CPR and choking quick-reference text on this panel. This is a last-resort pacing and reminder aid only — not a substitute for certified training or emergency services.

Advanced: Web Audio oscillator click at a user-set BPM (default 110, range 80–140 to stay near the Red Cross / AHA compression-rate band). Start/Stop. On-panel text summarizes adult CPR sequence (scene check, responsiveness, call for help, compressions, breaths, AED) and adult choking (conscious / unresponsive). Local timers + optional sound only — no pulse or depth sensing.

Cannot: Detect pulse or compression depth; replace certified CPR training, Red Cross/AHA courses, or emergency dispatch (call your local emergency number); guarantee audio on every locked-down device; certify that you performed correct CPR.

Likely errors: Autoplay policy blocks sound until a gesture; tab backgrounding throttles timers. Fix: start after a tap; keep the tab foreground.

How to use the metronome: Set BPM (110 is a solid middle of 100–120). Press Start click, then compress on each click. Press Stop when you hand off to EMS or an AED prompts you to pause. Keep this tab open and unmuted.

Works with: Breath / Pace Guide (separate calm-breathing aid — not for cardiac arrest), Survival Beacon Macro (wake lock + tones macro), Screen Stay-On (keep display awake while practicing or waiting).

Terms: BPM — beats (clicks) per minute; target compression rate is 100–120. 30:2 — 30 chest compressions then 2 rescue breaths when you are trained and willing to give breaths. Hands-only CPR — continuous compressions without breaths if you are untrained or unwilling to ventilate. AED — automated external defibrillator; follow its voice prompts. Recoil — let the chest rise fully between compressions; do not lean on the chest.

First principles: High-quality CPR needs compressions fast enough and deep enough, with full recoil, while help is called. A metronome only paces rate (100–120/min target band). The on-panel Red Cross–style steps are a memory aid for trained or last-resort use — they do not replace a course or emergency dispatch.
Idle
Adult CPR (American Red Cross–style reference)
Educational quick reference only. Call your local emergency number. Get trained. Guidelines can change — verify with Red Cross / AHA materials.

1. Scene & PPE — Check the scene is safe. Form an initial impression. Use personal protective equipment if available.
2. Responsiveness — If the person appears unresponsive, check responsiveness and breathing (shout-tap-shout). Look for life-threatening bleeding or other immediate threats.
3. Call for help — If unresponsive and not breathing normally (or only gasping), call your emergency number and get an AED / equipment, or tell someone to do so.
4. Position — Place the person on their back on a firm, flat surface. Kneel beside them.
5. Compressions (high-quality) — Hands centered on the chest (lower half of the sternum). Shoulders directly over hands; elbows locked. Depth at least 2 inches (5 cm) for an average adult (avoid excessive depth >2.4 in / 6 cm). Rate 100–120 per minute (use the metronome). Allow full chest recoil after each compression. Give sets of 30 compressions.
6. Breaths (if trained and willing) — Open the airway past-neutral (head-tilt / chin-lift). Pinch the nose, seal over the mouth, give 2 breaths (~1 second each) that make the chest rise. If the first breath fails, retilt and reseal before the second. If neither rises, the airway may be blocked — look for an object only if you see it; do not do blind finger sweeps.
7. Continue — Keep cycles of 30:2. Use an AED as soon as available and follow its prompts. Minimize interruptions to compressions (aim under 10 seconds). Continue until obvious signs of life, AED directs a pause, trained help takes over, EMS takes over, you are too exhausted, or the scene becomes unsafe.
Hands-only option — If you are untrained or unwilling to give breaths, give continuous chest compressions at 100–120/min without stopping for breaths until help or an AED is ready.
Child / infant (very high level) — Still 100–120/min. Depth about one-third of chest diameter (~2 in child, ~1½ in infant). Techniques (one vs two hands, two-finger / two-thumb) differ — get age-specific training; do not rely on this panel alone.

Choking — adult (high level) — Conscious and cannot breathe, cough, or speak: call emergency services; give abdominal thrusts (Heimlich) until the object clears or the person becomes unresponsive. Unresponsive: lower to a firm flat surface and begin CPR; each time you open the airway, look for the object and remove it only if you see it. Train with a qualified instructor; local protocols may differ.
Breath / Pace Guide(count only)
what this does — click to expand
Simple: A paced breathing helper. You set how many seconds to breathe in, hold, and breathe out. The screen shows which step is active and counts down. A soft sound may play when the step changes. This is a calm-practice aid only — not emergency treatment and not a promise to stop panic or illness.

Advanced: Three user-defined phases (inhale / hold / exhale seconds). Hold omitted if set to 0. Start runs a 1 s interval looping phases; Stop clears the interval. Optional short beep on phase change via Web Audio. No physiologic sensing (no HR, SpO₂, or respiratory inductance). No clinical protocol engine. Tab backgrounding may throttle timers. Not intended for acute respiratory distress, diagnostic assessment, or as a substitute for trained care.

Cannot: Monitor breathing physiology, treat medical emergencies, or replace clinician-guided respiratory therapy.

Likely errors: Educational UI only — no automated patient sensing. Fix: use as a practice checklist, not a device.

First principles: Paced breathing guides inhale/hold/exhale counts as a calm-practice aid. It does not measure physiology or treat medical emergencies.

How to use: Set phase seconds → Start → follow on-screen phase → Stop.

Terms: Phase — inhale, hold, or exhale segment. Interval — 1s ticker advancing the phase countdown.
Idle
Wearable File Summary(CSV · text)
what this does — click to expand
Simple: You export a file from a watch or fitness app (often CSV or plain text), open it here, and see a short summary — how many lines, which columns, and simple min/max/average for number columns that look like heart rate or similar. Nothing is uploaded to a server.

Advanced: Client-side FileReader only (Safari iPhone + Chrome). Parses text as delimiter-separated rows (comma, semicolon, or tab; auto-detect from first line). Treats first row as headers when it looks non-numeric. For each column that is ≥80% numeric, reports count, min, max, mean. Heuristic "HR-like" flag if header matches /hr|heart|bpm|pulse/i or values mostly fall in 30–220. Optional SHA-256 of file bytes for custody. No Bluetooth pairing, no vendor API, no clinical interpretation, no arrhythmia detection.

Cannot: Connect live to a watch; read Apple Health / Google Fit databases; diagnose; or validate medical-grade waveforms.

Likely errors: No file; unrecognized bundle shape; parse failure. Fix: choose a supported export the panel documents; check the file is complete.

First principles: Offline import brings text or files you already have into tools on this page without a network account.

How to use: Choose the import control and select content the panel accepts.

Terms: Import — load local data into a field. Origin — this site’s storage scope.
Export CSV/TXT from a wearable app, then summarize here.
Privacy & Safety
Permission & Leak Check(OPSEC one-screen)
what this does — click to expand
Simple: One button that checks whether this tab still has camera/mic/sensors on, whether you're online, and rough permission/storage signals.

Advanced — can: Live hardware session state, navigator.onLine, permission query best-effort, storage estimate, WebRTC/STUN note for this page's fingerprint code.



Cannot: See other apps or the whole OS; force-revoke OS permissions; detect all covert channels; guarantee anonymity against a determined state actor.

Likely errors: Permission query unsupported or blocked; secure-context required for some checks. Fix: use HTTPS/localhost; read the guidance text.

First principles: OPSEC checks remind you what this origin can store, what sensors may be live, and basic exposure hygiene for the tab. Advisory only.

How to use: Run the check → read the report → release sessions or clear storage if needed.

Terms: OPSEC — operational security habits. Origin data — localStorage/cache for this site.
Emergency Offline Notes
what this does — click to expand
Simple: Your own notes for emergencies when the network is gone — first aid, rights, radio codes, whatever you type. Saved only in this browser unless you export.

Advanced — can: localStorage persistence; load defaults template; export TXT/MD via export row; clear with confirm.



Cannot: Replace professional medical or legal advice; sync across devices without you exporting; protect data from someone with this unlocked device (use AES vault for secrets).

Likely errors: Nothing stored yet. Fix: save knowledge first if the panel offers save.

First principles: Offline knowledge panels hold reference text that does not require a network fetch to read.

How to use: Open and read; copy if export is offered.

Terms: Offline — available without network. Reference — static guidance text.
Not saved this session yet.
Emergency Contact Card(local only)
what this does — click to expand
Simple: Quick fields for blood type, allergies, meds, emergency contacts — stays on this device's browser storage.

Advanced — can: Save/load localStorage; export text; optional note to copy into AES vault for stronger secrecy.



Cannot: Call emergency services; encrypt by itself (pair with AES vault); hide from someone holding the unlocked phone.

Likely errors: No file/text chosen. Fix: select content the control accepts.

First principles: ICE (In Case of Emergency) cards store contact/note fields locally for quick access on this device. Protect the device; this is not encrypted medical ID.

How to use: Fill fields → Save Local / export card text; Clear removes saved data after confirm.

Terms: ICE — In Case of Emergency. Local save — stored in browser storage for this origin.
Origin · Runtime · Blueprint
Live Usage Bars(Origin quota · JS heap when available)
what this does — click to expand
Simple: Shows how much space this website is using, and (on some desktop browsers) a rough JS memory reading.

Advanced — can: storage.estimate() used/quota bar (Safari + Chrome). Optional performance.memory heap bar on Chromium only. Refresh on demand or auto-timer.



Cannot: Show true OS/RAM for the whole phone; Safari has no standard heap API — quota bar is the reliable cross-browser signal.

Likely errors: Storage APIs partially missing. Fix: read the lines that are present.

First principles: Browsers expose storage estimate (used/quota) and sometimes JS heap size. Bars visualize pressure for this origin only — not whole-device RAM.

How to use: Refresh Bars or Auto-refresh → read origin and heap meters.

Terms: Quota — storage limit for this site. Heap — JS memory (Chromium-oriented). Origin — scheme+host+port scope.
Origin storage (this site)
JS heap (Chrome/Chromium only; hidden values on Safari)
Origin Data Manager
what this does — click to expand
Simple: Shows a summary of what this page's site stored in the browser and can clear those buckets when you confirm. It cannot clear "the whole phone" or other websites.

Advanced: Lists key counts/names for localStorage and sessionStorage; names IndexedDB databases and Cache Storage caches when the browser exposes them. Clear local+session; delete caches; best-effort indexedDB.deleteDatabase when allowed. Complementary to Origin Storage Manager (which edits individual keys and JSON import/export).

Cannot: Clear other sites' data, the browser's global cache UI, or permissions the user granted system-wide.

Likely errors: List fails if storage is blocked; Clear does nothing visible if stores were already empty; IDB delete is async and may lag or be refused. Fix: confirm you are on the same origin you care about; re-run list after clear; export first from Storage Manager if you need a backup.

First principles: Site data includes localStorage, sessionStorage, Cache Storage, and IndexedDB for this origin. Listing and clearing only affect this site, not the rest of the browser.

How to use: List Origin Data → selectively Clear local+session / Cache / IndexedDB (confirm). Export important keys first.

Terms: localStorage — persistent string map. sessionStorage — tab-lifetime map. Cache Storage — Cache API stores. IndexedDB — structured DB API.
Tab Session Releaser
what this does — click to expand
Simple: "Put the hardware down" for this tab: stops camera, mic, WebRTC, sensors, serial/BLE, stopwatch/countdowns, alarm ring, CPR/beacon timers, and similar live tools, and frees temporary file/media links this page created. Asks before doing it. Does not delete your saved notes by itself.

Advanced: Stops live capture/sensor/serial/WebRTC paths registered in-page (including RTCPeerConnection / data channel via __stopWebRtc); stops clock sessions via __stopClocks (stopwatch + countdown intervals); alarm/CPR/beacon/geo hooks when registered; clears last capture blob references; revokes tracked object URLs; runs registered file-preview cleanups. Complements storage clear (data at rest) vs session release (live streams, timers, and blob URLs).

Cannot: Free RAM for other tabs; revoke OS permission grants (camera stays allowed until the user changes site settings); wipe localStorage.

Likely errors: Some devices stay busy if another tab holds them; nothing obvious happens if nothing was live. Fix: close other tabs using the camera/mic; use Origin Storage Manager if you meant to delete saved keys.

First principles: Session release stops live hardware streams and revokes temporary object URLs this page created, without necessarily wiping saved notes. “Put the hardware down” for this tab.

How to use: Press Release Tab Sessions → confirm → review log of what stopped.

Terms: Object URL — blob: link to in-memory data. File preview cleanup — registered teardown for canvases/media. Live path — camera/mic/sensors/serial still running.
Permission Guidance
what this does — click to expand
Simple: Explains how to change camera/mic access for this site. Does not force-reset permissions (browsers don't allow that from a page).

Advanced — can: Show origin + best-effort permission query when the browser exposes it.



Cannot: Programmatically set Allow/Block; Safari often reports unknown.

Likely errors: None — static guidance text. Fix: follow OS/browser site settings instructions.

First principles: Browsers own permission UI. Pages can explain how to reset camera/mic access but cannot force Allow/Block from script.

How to use: Show Guidance → follow OS/browser site settings instructions.

Terms: Site settings — browser UI for per-origin permissions. Secure context — usually required for camera/mic.
Tool Inventory · Intent Map
what this does — click to expand
Simple: Builds a full list of every tool on this page so you can copy it. Use it with Rules of This File as a blueprint: another person or model can see every tool that must exist and the rules it must obey. Editor maps: Map dependencies, Panel anatomy, Helper glossary, Id checklist, Public endpoints, Capability drift, New tool checklist.

Advanced: Live DOM inventory of each category group under more tools (details.tool-group summary titles as they exist now) and every tool-panel inside them. Group names can change without changing data-intent values. The inventory follows the live category tree (job-named groups; hub panels appear once under their category). Each line can include title, data-intent, data-export modes on output boxes, and the tool's Simple / Advanced / Cannot text when those panels exist. Output is plain text meant to be selected and pasted. Rebuild after edits so the list matches the page. This is the authoritative checklist of tools in the current markup plus their explanations — enough to specify reimplementation under the Rules. Exact algorithms still have to be derived from those descriptions and normal engineering judgment.

Cannot: Paste as a drop-in replacement for the HTML file itself; invent APIs the Rules forbid; list logic that has no panel on the page; prove a complete compiler-grade call graph (anonymous handlers and dynamic calls are easy to miss). Dependency map is an editor aid, not a formal verifier.

Likely errors: Output empty if the button did not run; list looks short if a category has no tool-panel children (example: External Resources is links-only). Fix: run the inventory after the page has loaded; compare totals to what you see under more tools.

First principles: Tool Inventory builds a live list of every tool panel and can append Rules text — the blueprint for editors and auditors. Extra buttons map dependencies, anatomy, helpers, ids, endpoints, capability drift, and new-tool checklists.

How to use: Build Blueprint Text (optional explanations/Rules) → copy; use other map buttons when editing the file.

Terms: data-intent — stable tool purpose id. Blueprint — inventory of live structure. Capability drift — APIs used vs registry rows.
Press Build Blueprint Text — or editor maps: dependencies, panel anatomy, helper glossary, id checklist, public endpoints, capability drift, new-tool checklist.
Editor prompts
what this does — click to expand
Simple: Copy-paste instruction blocks for a human-led session with any capable model while editing this file—including alignment after changes, keep-on-track checks, and post-deploy smoke lists. The operator stays in charge; the model assists under the file's Rules.

Advanced: Templates are written in the same mood as Rules of This File: definitional constraints, no chat narrator, no hard-coded markup tag names that may change. Prefer the live Rules and inventories inside the file over chat memory. Attach the smallest current slice of the file that holds the truth; attach the full file when global structure or shared helpers are involved.

Cannot: Bind any model vendor; replace reading the live Rules; turn the model into an autonomous maintainer of the file. Prompt text is fixed template copy (not cleared like tool results); export may still be used to copy a block out.

Likely errors: Model invents a server or API key; model uses an old paste's structure; model refactors unrelated tools. Fix: include Session lock; paste current Rules or markup; state the goal narrowly.

First principles: Editor prompts are copy-paste instruction blocks (Session lock, Add tool, Repair, Audit, …) so a human-led session with a model stays aligned to this file’s Rules. Templates are not cleared like tool results.

How to use: Open a prompt block → select all → copy into your editor session with the needed file slice.

Terms: Session lock — standing constraints for edits. Constitution audit — method/findings/gaps report format. Residue — leftover names/handlers after removals.

Select a block and copy. Attach Session lock to non-trivial requests.

Session lock
Add tool
Repair behavior
Constitution audit
Align names and residue
Structural move
Rules conflict
Explain panel
Operator use
Alignment pass
Keep on track
After deploy smoke
Security headers (this origin)
what this does — click to expand
Simple: Re-loads this page's URL and lists security-related response headers (especially Content-Security-Policy) so a host policy can be checked without digging through browser developer tools.

Advanced: Same-origin fetch of the document URL (no hash), reads header map from the response. Reports presence and raw values for CSP and a few common companions (X-Content-Type-Options, Referrer-Policy, etc.). Does not prove every directive is correct—only what the host sent on that request.

Cannot: Read headers of a navigation that already finished without re-fetching; work reliably on file://; validate CSP against every tool path; change the host's header config from inside the page.

Likely errors: file:// or blocked fetch; empty CSP means the host did not send one on this response. Fix: open the hosted URL; confirm the host is sending Content-Security-Policy on this URL and redeploy if you control the headers.

First principles: HTTP security headers (CSP, HSTS, X-Frame-Options, …) tell browsers how to isolate a site. Builders help draft header values; deployment is on the server that hosts files.

How to use: Use the builder fields/buttons as labeled → copy header lines to your host config.

Terms: CSP — Content-Security-Policy. HSTS — force HTTPS. Frame ancestors — who may embed the page.
CSP Builder · Explainer
what this does — click to expand
Simple: Build or paste a Content-Security-Policy string and get a plain-English breakdown of each directive.

Advanced: Checkbox/select helpers for common directives (default-src, script-src, style-src, img-src, connect-src, frame-ancestors, base-uri, form-action, etc.). Output is the header value plus a per-directive note. Does not validate against a live page beyond what you paste; distinct from “Security headers (this origin)” which only re-fetches this document’s response headers.

Cannot: Guarantee a policy is safe for every threat model; deploy headers to a host from inside the page.

Likely errors: Empty input; unknown directive names left as raw tokens. Fix: start from a template or paste an existing CSP.

First principles: Content-Security-Policy restricts script/style/image sources to reduce XSS impact. This builder composes policy directives as text you paste into server config — it does not apply CSP to the current file automatically.

How to use: Select directive options → generate policy string → deploy on the hosting server.

Terms: Directive — e.g. script-src, default-src. Source list — 'self', https:, nonces/hashes. XSS — cross-site scripting.
Rules of This File
what this does — click to expand
Simple: A short list of what this page is allowed to be — so nobody assumes there is a secret server or a login behind it.

Advanced: Normative project vocabulary in plain prose. Static text only; does not enforce policy at runtime.

Cannot: Bind other websites; freeze the public web platform; replace reading current browser documentation when adding features.

Likely errors: Empty builder fields. Fix: choose directives before copying.

First principles: Project Rules are the design constitution of this single-file artifact: offline-first, no embedded secrets, main-thread, honest progressive enhancement, result-export contract, and related entries.

How to use: Open View/copy Rules text → read or copy. Treat Rules as authoritative over chat memory when editing.

Terms: Rules — normative entries in this file. Progressive enhancement — optional APIs layered on a working core. Substance over housekeeping — do not ship known breakage as “cosmetic.”
View / copy Rules text
code last updated early august 2026

artifact The deliverable is exactly one Hypertext document (example: a single index.html). No companion application server of our own, no required build toolchain for basic use, no installable package store dependency for core function.

client-side execution Logic runs in the visitor's user agent (example: scripts inside the page). Work that needs a machine you do not control is out of scope unless it uses only optional, public, key-free network endpoints (examples: a public IP echo service; a public DNS-over-HTTPS resolver that allows browser requests).

main-thread execution Logic for this artifact runs on the page's main script turn unless a progressive browser engine already does work off-thread on its own (examples: Web Audio rendering; crypto.subtle where the user agent schedules it). Authors must not add background script workers (examples: Worker, SharedWorker, or worker-style worklets introduced to move toolkit logic off the main thread) unless this Rules text is changed to allow them. The restriction preserves a single, inspectable execution model, avoids multi-file worker sources, and keeps session release and memory clear behavior simpler to reason about. STORAGE_KEY_REGISTRY lists every localStorage/sessionStorage key this file’s product tools write by design (Origin Storage Manager may also write operator-chosen keys outside that list). Trace Wipe clears all localStorage and sessionStorage on this origin, not only registered keys. Heavy work stays on the main thread (no author-added workers unless this Rules text is changed). Prefer smaller steps and visible status when practical. Do not impose permanent hard file-size ceilings that refuse work merely because an input is large—what a tab can finish depends on the user agent and device and changes over time. Do not use modal dialogs (confirm / cancel) to gate size or memory risk. Do not substitute a size/risk sermon in a result box for the tool's normal output. Size and memory risk belong in each affected tool's explanation ([?] / Cannot / Likely errors): very large inputs may slow, hang, or crash the tab; recovery is reload (clear cache if needed), reread [?], and retry with judgment. Assume a competent operator; ship full capability. Static tools do not self-upgrade—humans adapt usage. Prefix or bounded reads are allowed only when that is the tool's purpose (example: header triage), not as a global max-file product ban. This entry does not forbid ordinary asynchronous page APIs (fetch, promises, timers) or the user agent's built-in parallel engines.

credential absence No service account, API key, bearer token, or password for a third-party product is embedded in the file. Features that cannot operate without such a secret are rejected.

browser baseline The page targets the popular user agents on the relevant device classes — not one brand chosen for taste. Device classes in force now: mobile (handheld general-purpose phones and similar) and computing (general-purpose desktop and laptop class machines). Further classes may be named later if they become central. "Popular" means high real-world use in the period on those classes (examples: major browsers shipped with or dominant on large phone platforms; Chrome and other high-share browsers on Android; major multi-platform browsers on computing devices). Where several agents each hold large share, the baseline is the set of them, not a single winner-take-all name. A feature absent from a baseline agent may ship only as progressive enhancement (examples: feature-detected, labeled in the tool explanation, optional, never required for the rest of the page).

progressive enhancement Extra capability layered on top of a working core (example: a serial-port tool that appears on a baseline-capable desktop browser but simply reports "not available" on a baseline mobile browser). The core path must remain usable without that extra capability. That same obligation supports closed-loop durability: a frozen baseline-class browser must not need a progressive-only API to use the offline majority of the page.

interface discipline Always-visible chrome at the top (identity, public IP when network allows, device meta). Everything else sits under a single "more tools" accordion. Inside it, tools are sorted into a small set of category groups so a person can find a tool in one or two opens. Search under more tools, when present, matches names in the live tree. Each tool carries an explanation panel with Simple, Advanced, and Cannot (and, where useful, Likely errors). Clearing applies to files, results, and previews that need cleanup; ordinary typing fields are not forced to carry clear buttons. Destructive clears ask for confirmation.

category groups Category titles name the job a visitor is trying to do, not the library or API used to implement it (examples at time of writing: Text & Documents; Photos, Video & Audio; Files & Evidence; Passwords & Encryption; Network & Web; Location & Time; Binary & Firmware; Origin · Runtime · Blueprint). Placement follows the job: media tools with media; integrity and field-check tools with evidence or files; codecs and obfuscation helpers with other transform utilities; device positioning with location. Do not place a tool by where the editor happened to insert the markup. Moving a tool between groups does not change its data-intent. After large moves, regenerate Tool Inventory · Intent Map from the live page so any blueprint paste matches the DOM.

hub panels When several views share one input or one evidence story, they may live in a single panel with modes or sections (examples: File Lab for identity, hex, strings, entropy, and pattern search; Evidence Package for build and verify; Location for capture and coordinate math). The panel keeps one stable data-intent for the hub. Split panels remain correct when the definition of a change or the failure mode differs enough that a shared shell would mislead (example: document-level diff versus line-level diff).

source comments HTML and script comments are optional notes for editors. They are not the contract, not a second inventory, and not required for the page to run. The live category titles, data-intent values, Rules, and Tool Inventory · Intent Map are authoritative for structure. Do not invent load-bearing behavior that only exists inside a comment.

edit discipline This artifact is one document with one primary script block. Structural HTML edits shift character offsets. Any script cut-and-join must re-locate the live <script> boundaries after HTML changes, then verify parseability before treating the file as ready (example: a syntax check on the extracted script). Prefer small, reviewable batches of tool or category changes over a single large dump that is hard to reverse if the join is wrong. Structural consistency is part of readiness: matched open and close tags for panels and groups, a single script element, stable data-intent values, and the same explanation shape (Simple, Advanced, Cannot, and Likely errors where useful) on tools that expose that pattern. Formatting here means reliable structure and naming—not a preferred pretty-print style. A file that looks tidy but fails to parse is not ready. Large cleanups still follow this entry: re-bind script by live tags, verify parseability, and do not trade user-visible behavior for a shorter file (see substance over housekeeping).

closed-loop durability The artifact is meant to remain useful without an update channel. A copy opened years later on a device and browser class comparable to the baseline at the time of authorship should still run its offline majority without contacting the author, a package registry, a CDN of libraries, or a forced upgrade path. There is no supported "phone home for a newer build" mechanism inside the file. Dependencies that the page cannot carry as itself are out of scope (examples: installable app stores, mandatory native companions, keys that expire and cannot be replaced locally). Optional public network endpoints may die or change; tools that use them must fail clearly and must not be required for the rest of the page to work. Prefer web-platform APIs already common on the baseline over APIs that exist only on one engine. Progressive enhancement may add capability when present; it must not make the core path depend on future platform gifts. Authors and later editors accept that "runs with zero issues forever on every future OS" cannot be promised for any software. The design obligation is stricter and narrower: no intentional need to update this file in order to keep using the offline toolkit on a frozen baseline-class browser; no hidden external runtime; degrade or label when an optional API is missing.

network honesty Any use of the public internet is visible in principle (examples: fetching a public IP; DNS-over-HTTPS; RDAP). Offline use must still allow the majority of tools to function. Header identity digs (public IP, latency, WebRTC leak row) wait on the dot countdown and can be blocked or started from that control; other network tools only contact the net when you run them.

single-document packaging Distribution is the Hypertext file itself (example: download or host index.html). Use Download · Copy This Page under Origin · Runtime · Blueprint to save HTML or a ZIP (STORE) of the served bytes when the network path works. Multi-file application frameworks, mandatory bundlers, or "install our app first" steps are outside this artifact's definition of ready-to-use.

secret material Credentials and private API keys are not part of the document (see credential absence). A feature that only works after "log in to our server" cannot exist here because no such server is part of the artifact.

scope of control The page may use interfaces the user agent exposes for this origin and this tab (examples: camera after permission; files the user selects; storage for this site). It does not administer the whole device or other sites (examples: it does not clear another origin's data, control global browser cache, or report true OS process memory as a system console would).

sensor and capture consent Sensors and recorders run only after the user agent's permission flow and only while this document's logic keeps them on (examples: camera, microphone, motion). Silent or background capture outside what the browser allows for a normal page is outside scope.

baseline honesty A capability that fails the browser baseline test is documented as limited or optional (see progressive enhancement). Advertising a non-baseline feature as if every supported user agent had it violates this rule.

professional substitution Tools on this page may support education, notes, calculation, and evidence handling. They are not a substitute for licensed clinical care, legal process, emergency services, or certified measurement instruments (examples: a tilt readout is not a diagnostic goniometer; a dose calculator is not a prescribing system). It is also true that many dependable practices began as crude methods. When formal systems are unavailable or untrustworthy, simple local tools can still be a practical last resort. That does not upgrade them into professional authority; it only states why keeping them honest and usable still matters.

platform evolution Browser capability changes over time (example: an interface that was rare on mobile later becomes common). This file is allowed to gain features when the browser baseline catches up, and required to keep progressive enhancement for anything still uneven.

capability revisit Re-check gated interfaces on a schedule or before a major edit — do not assume last year's "unsupported here" is permanent. Procedure: (1) open Where to Look hubs and engine status pages; (2) run Capability Watch in this page on each baseline agent you care about; (3) if a probe flips from missing → present on a baseline agent, wire or widen the matching tool with feature-detect + labels, never with a hard "Chrome only" lie; (4) update the tool's explanation Cannot/Advanced lines to match reality; (5) rebuild Blueprint Text so the inventory stays truthful.

capability registry Progressive APIs used in this file are listed in one script registry (Capability Watch). Humans and automated editors should add new gated APIs there when introducing them, so future probes and search instructions stay complete without scavenger hunts through the whole script.

data-intent Each tool panel may carry a stable purpose label (example: data-intent value local-crypto ). Blueprint Text, in-page jumps, and Capability Watch use these labels. When adding a tool, set a unique intent; when renaming purpose, update the attribute and any jumps or registry rows that point at it. Result boxes use data-export="text" or data-export="none" per result export.

capability registry maintenance Progressive or gated browser APIs used by this file are declared in the script array CAPABILITY_WATCH . Adding a new gated API without a new row there leaves probes and "find in source" guidance incomplete. Detect functions must be safe to run on every baseline agent (feature-detect only, no throws into the void).

file preview and object URL cleanup File inputs that drive canvases or media previews register cleanups with registerFilePreview(fileInputId, fn)(or data-preview-canvas). Temporary blob links created for downloads or previews go through trackObjectURL. Session release and related clears expect that discipline; skipping it looks like "Clear did nothing" or leaked blob URLs.

cross-panel session state Some tools share in-tab memory rather than imports (example: RSA/ECDSA key material kept in the same tab for local sign/verify tools). Closing the tab clears it. Not a server-side session.

cross-panel composition When a tool builds, verifies, or orchestrates work by reading another panel's inputs, outputs, or session state on this page (examples: stitching Markdown source, a custody log, and a hash manifest into one downloadable note; a macro that starts wake lock, tone, and speech already exposed elsewhere), the explanation must name those source tools by their live titles and must include in-page jumps (inpage-jump with the matching data-jump-intent) to those panels. The composite tool remains a separate data-intent; it does not replace the sources. A composite must not alter the underlying tools' fields, results, files, or session UI as a side effect of running: it may read their current values and write only to its own outputs. After using the composite, the operator should not need to clear or restore the source panels because of that run. Shared in-tab key material without a second panel UI (example: RSA keys held only for sign/verify on the same panel set) is covered by cross-panel session state, not this entry. Do not imply a server-side pipeline or a hidden second file.

in-page jumps Links with class inpage-jump and data-jump-intent="local-crypto" (example) open nested groups and scroll to the matching data-intent panel without putting a #hash in the URL. Ordinary href="#id" links are different: they use the URL fragment. Prefer inpage-jump for tool-to-tool navigation inside this file.

explanation audience and depth Explanations on this page (Rules entries, tool "what this does" panels, and similar instruction text) are written so a person with little background can learn what the control is for, how to operate it, and what failure or refusal looks like, while a person with more background can learn the real limits, main mechanisms, and conditions under which the result is incomplete or misleading. Those layers should agree. The plain-language part must not promise something the detailed part takes back; the detailed part must not describe a different tool than the plain-language part introduced. Where a tool is unavoidably specialist, the plain-language part may be shorter and may say that care or prior knowledge is needed; it should still state purpose and the important cannot or failure cases rather than only naming an API. When there is a trade-off between a shorter explanation and a more complete one, completeness of the expanded panel takes priority over brevity. That panel is collapsed by default; putting detail behind it is preferred to omitting limits, failure modes, or conditions that would change what a careful reader decides to trust. Brevity remains appropriate for labels, button names, and on-screen status lines—not as a reason to leave important limits out of the expanded explanation. This entry does not require maximum length on every panel, equal length across tools, or that every reader will fully understand every tool. It is a writing standard for this artifact: aim for cross-readable honesty, and when something important would be cut only "to keep it simple," keep that material in the expanded explanation rather than a beginner-only gloss or an expert-only note. Explanations that misstate live behavior stay in scope under substance over housekeeping; short is allowed, wrong or hollow is not. An explanation must not describe controls, menu options, modes, outputs, or side effects that this panel does not actually provide (example: naming a spread type or “max profit” readout that is not on the form). When the live UI is narrower than a general technique, say what is on the panel; put wider techniques only in Cannot or omit them.

assistive use without formal compliance This artifact is written so a person can operate it from the visible chrome and the expanded explanations, and so another person or an automated assistant can read those same labels, intents, and panels and explain or step through a tool. Prefer ordinary, named controls (examples: <button type="button"> for actions) over unlabeled clickable decoration when the control is the only way to run a tool. Keep purpose, limits, and failure modes in the explanation pattern already required under explanation audience and depth. This entry is not a commitment to any formal accessibility standard (examples: WCAG; programs commonly abbreviated a11y), continuous accessibility audits, or a full assistive-technology test matrix. Specialist or progressive tools may remain harder to use when the underlying browser API is limited. Dim or secondary text used only for hierarchy is allowed. Do not treat third-party accessibility checklists as Rules obligations for this file.

output over ornament A tidy edge is a weak reason to hide the end of a hash, path, error, or instruction.

result export Text export rows (TXT/MD/RTF/PDF) attach only to result boxes marked data-export="text". Status or caption boxes next to a canvas, file, or other primary artifact use data-export="none" (clear may still apply). Generic helpers follow the product, not every output-box class name. name alignment When an explanation or instruction names another tool or category on this page, that name should match the live title or category summary as shown in the interface (and in Tool Inventory · Intent Map). Prefer the current panel title over older or informal names after merges and renames. This entry does not require a second hand-maintained name table; the visible titles and category summaries are the reference. Update cross-references when a title or group name changes.

substance over housekeeping This file exists to run its tools under the Rules. Editors must not classify broken markup, dead handlers for removed controls, false labels, or explanations that misstate live behavior as residual, cosmetic, or inconsequential. If it affects what the user sees, trusts, or can do, it is in scope. Anything with no legitimate reason to remain—no user-facing path, no Rule obligation, no required dependency for a tool that stays—should be removed or replaced with a smaller dependency that still fully serves that tool. Efficiency means fewer moving parts and less dead weight, not stripping behavior. After merges, do not keep parallel leftovers, listeners bound to controls that no longer exist, or second name lists beside the live titles. Do not treat a progressive-enhancement path as dead weight only because it is absent on one baseline agent; if it is offered, it stays feature-detected, labeled, and optional under progressive enhancement and baseline honesty. Housekeeping (formatting, comment accuracy, guard style, quote normalization) is expected when it reduces confusion or risk, and only when it does not reduce behavior. Prefer a noisier but correct path over a cleaner path that drops a fallback, label, clear control, progressive-enhancement branch, or error message the user might need. Prefer small, checkable edits under edit discipline over one large cleanup that is hard to verify or reverse. Explanations and labels must stay aligned with live tools and name alignment, and must meet explanation audience and depth (plain and detailed layers agree; depth wins when brevity would omit a limit). That is not a demand for maximum length on every panel or identical depth on every tool. “Not important enough to fix” is invalid when the defect is real. “Cleaner code” is invalid when it weakens a function. “Leave it, it’s fine” is invalid when the code has no job. The artifact must not carry extra purpose beyond the tools and Rules, and must not operate under them by shipping known present breakage or silent gaps in what a tool claims to do.

defensive fit Guards and other defensive code belong where a real failure mode exists: a node that may be absent after a merge or on a progressive path, an API that may be missing, a permission that may be denied, an init order that can throw if reshuffled. They are part of keeping tools and boot reliable under the Rules. Defensive code is not a style goal on its own. A check that cannot fail on this page as built, and does not protect against a failure mode the architecture allows, is noise: it adds weight without serving a tool or a Rule. Prefer the smallest guard that matches the real risk. “Not failing for users right now” does not make a known footgun out of scope if a normal edit, merge, or path can still hit it. Present stability is not a reason to leave an order or null hazard that can take down boot or a tool path. Present stability is also not a reason to carpet-guard every property access where no such hazard exists.

authority of these entries These entries describe this file's design contract. They do not rewrite public law, hospital policy, or the specifications of the web platform. When platform facts change, the hubs under "Where to Look" outrank any stale example in this text. When two entries appear to pull in different directions, read them together (example: substance over housekeeping does not override progressive enhancement or closed-loop durability; it forbids both dead weight and cleanup that weakens tools).
Where to Look (Official Hubs)
what this does — click to expand
Simple: Links to the main places that define how the web works and what each browser supports — so you can check facts years from now without trusting this file alone.

Advanced: Entry points only (standards bodies, engine status boards, practical references). Link targets may move; the organization names remain searchable.

Cannot: Guarantee permanent URLs; replace reading the current specification when implementing a feature.

Likely errors: Network required only when you follow an external link. Fix: open a hub when online.

First principles: Specification hubs (MDN, WHATWG, W3C, Can I Use, engine status boards) are the external places to verify platform facts when this file’s examples age.

How to use: Click a link → read current docs in a new tab.

Terms: MDN — developer documentation. WHATWG — living HTML/standards. Can I Use — support tables.
Capability Watch(baseline probe · update guide)
what this does — click to expand
Simple: Checks this browser for features the page treats as optional. Shows present or missing. Includes a short guide for people (and tools) updating the page when browsers improve.

Advanced: Runs the in-page capability registry: each entry has an id, detect function, related data-intent tools, and a find-string to locate code. Output is a probe table for the current user agent plus maintenance steps aligned with Rules (platform evolution, capability revisit, capability registry). Does not change permissions by itself; does not call network APIs beyond what the page already may use elsewhere.

Cannot: Enable OS features the browser lacks; predict future specs; replace reading official status hubs when results are unclear.

Likely errors: None for the probe table beyond APIs this engine lacks (shown as missing). Fix: run Probe; missing means unsupported here.

First principles: Capability Watch runs the in-page registry of progressive APIs: each row has detect(), related intents, and a find-string. Probes tell you what this browser has; the guide explains how to update the file when support spreads.

How to use: Run Probe on This Browser / Show Update Guide → read table.

Terms: CAPABILITY_WATCH — script registry array. Feature-detect — test without throwing. Baseline agent — popular browser class this file targets.
Probe this browser to see which progressive features are present.
Download · Copy This Page
what this does — click to expand
Simple: Download or copy this page as a real file so someone else can host it. ZIP is for places that prefer a package over raw HTML.

Advanced: Prefers fetch of this origin's document bytes (bit-faithful when the server serves the static file). Fallback: serialized DOM (may differ slightly from the on-disk original). SHA-256 of the exported bytes is shown. ZIP uses the standard ZIP format with a single stored entry index.html(STORE — no recompression inside the zip; the HTML is already one file). Does not upload anywhere.

Cannot: Guarantee clipboard succeeds for very large pages on mobile; magically fix hosts that strip HTML; include other origins' files.

Likely errors: Offline; tracker/ad blocker; corporate DNS filter; CORS hiding headers; public endpoint timeout or downtime. Fix: retry on another network, allowlist the endpoint, or use offline tools only.

First principles: Download/Copy This Page saves the HTML bytes or a STORE zip of the served document so you can archive or move the artifact without an app store.

How to use: Use the download/copy controls offered → verify the saved file opens.

Terms: STORE zip — uncompressed zip of file bytes. Served bytes — what the browser received for this page.
Load page bytes first (on the live site), then Save or Copy.
Origin Storage Manager(Local · Session · IDB · Cache)
what this does — click to expand
Simple: This site can save small text notes in your browser. This tool lists that data, lets you open or change one item, delete it, or download a backup. It only sees data for this website — not your other tabs' passwords or other companies' sites.

Advanced: Enumerate localStorage, sessionStorage, IndexedDB database names, and Cache Storage keys for location.origin. Get/set/delete one key at a time in local or session store (selector). Export local+session as JSON; import JSON with confirm (merge into those stores). Clear one store with confirm. IDB/Cache: list and best-effort delete where the API allows — not a generic object-store row editor or query UI.

Cannot: Read or wipe other origins; edit arbitrary IndexedDB rows; guarantee durable delete on every engine; bypass private-mode or enterprise storage blocks; recover data after Clear.

Likely errors: Empty key name; key not found; Set/Import failed (quota, private browsing, or policy); Import file not JSON from this tool's export shape; Enumerate incomplete if an API throws. Fix: use a key from Enumerate; export before Clear; try a normal (non-private) window if storage is blocked.

First principles: Storage listing enumerates keys and approximate sizes for this origin’s web storage APIs so you can see what the page saved.

How to use: Run the list control → inspect keys → clear selectively via Origin Data Manager if needed.

Terms: Key — storage entry name. Origin scope — data isolated to this site.
External Resources