Docs

Documentation Center

Use the heading panel on the left to jump between topics. The right panel contains detailed docs for each system section and tool.

System

Overview

Welcome to the hiddencolor docs. These sections explain core system behavior and workflow architecture.

What is hiddencolor?

hiddencolor is a data-to-image utility that converts file or text input into a deterministic payload format and stores it inside a lossless PNG.

The primary goal is byte-perfect round trip: same input, same payload rules, verifiable output, and exact restore on decode.

Core Concepts

  • Versioned binary container (magic + version + metadata + checksum)
  • RGBA pixel mapping (4 bytes/pixel) with lossless PNG output
  • Decode validation: magic, version, lengths, and SHA-256
  • Client-side local mode and backend API mode options

Quick Start

1) Open the Encode page
2) Select File or Text input
3) Run Analyze to inspect payload and pixel size
4) Run Encode to generate PNG
5) Open the Decode page and upload the PNG
6) If checksum is valid, the original file is restored byte-for-byte
System

Payload Format

hiddencolor uses a versioned binary container with metadata and checksum to guarantee deterministic and reliable decode.

Why Versioned Payload?

Raw byte-to-RGBA mapping alone loses metadata context. Without file name, MIME type, length, and checksum, reliable decode cannot be guaranteed.

hiddencolor uses a versioned container so the format remains stable today and extensible for future upgrades.

Payload Schema (General)

magic[4]
version[1]
payloadLength[8]
fileNameLength[4]
mimeTypeLength[4]
contentLength[8]
fileName[fileNameLength]
mimeType[mimeTypeLength]
content[contentLength]
sha256[32]

Format Rules

  • All length fields are validated with strict bounds checks
  • Data is never returned when checksum mismatches
  • Padding exists only for RGBA capacity and is cut using payloadLength
  • Identical payload bytes always map to identical pixel bytes
System

Decode Rules

Decode validates magic header, version, payload length, and checksum. Any mismatch fails fast with an explicit error.

Decode Validation Pipeline

Decode applies strict validation in order: magic header, version, length checks, metadata consistency, and SHA-256 checksum.

This prevents random PNG files or corrupted payload files from being treated as valid input.

Common Error Scenarios

  • Invalid magic header: file is not in supported hiddencolor format
  • Unsupported version: current decoder does not support this payload version
  • Corrupted payload: length or field consistency check failed
  • Checksum mismatch: data changed during transfer or modification

Expected Decode Result

{
  "originalFileName": "input.pdf",
  "originalMimeType": "application/pdf",
  "originalSize": 1048576,
  "checksumValid": true
}
ToolCoreLive

Basic Encode

Convert a file or text into deterministic PNG payload format.

What is Basic Encode?

Basic Encode is the core data-to-png workflow that wraps file or text input into a deterministic payload container and emits PNG output.

It is not a compression method. It is a lossless packaging and restore mechanism with metadata preservation.

Steps

  • Input bytes: file raw binary or UTF-8 text
  • Metadata attachment: file name, MIME type, content length
  • SHA-256 checksum and payload serialization
  • Payload to RGBA mapping and lossless PNG encode

Example Usage

Input: order.json
MIME: application/json
Analyze: payload length + image width/height
Encode: order.png
Result: decode restores order.json exactly

API Endpoints

  • POST /api/encode/file
  • POST /api/encode/text
  • POST /api/analyze
ToolCoreLive

Basic Decode

Recover original data from PNG payload with checksum validation.

What is Basic Decode?

Basic Decode reads PNG payload files generated by hiddencolor and restores the original byte sequence.

Output includes metadata such as file name, MIME type, and checksum validation status.

Decode Flow

  • Read PNG and extract RGBA bytes
  • Validate magic/version/length
  • Extract content and metadata
  • Verify integrity with SHA-256
  • Return original file as downloadable blob

When Does It Fail?

Invalid magic header -> random/non-hiddencolor PNG
Unsupported version -> decoder version mismatch
Checksum mismatch -> payload corruption
Corrupted payload -> invalid length/field boundaries
ToolSplit & SecureLive

Split 2-of-2

Split one input into two PNG shares. Both parts are required for decode.

What is Split 2-of-2?

This workflow splits one input into two separate PNG shares. Decode is possible only when both shares are provided together.

A single share alone never reveals the original content.

Technical Logic

  • Share A is generated as random byte sequence
  • Share B = Original XOR Share A
  • Both shares contain pairId, metadata, and checksum fields
  • Decode: ShareA XOR ShareB = Original

Validation Rules

- Share indexes must be 1 and 2
- Pair ID must match on both shares
- Metadata fields must match
- Share checksum and content checksum must both be valid
ToolMedia & SignalLive

Steganography Watermark

Embed data invisibly inside an image and extract it later.

What is Steganography Watermark?

This workflow embeds text or file payload data into the pixel channels of a carrier image and outputs a watermarked PNG.

The embedded data stores typed payload metadata and SHA-256 checksum for verification.

Algorithm Summary

  • Carrier capacity: width x height x 3 bits (RGB LSB)
  • Each payload bit is stored in the least-significant bit of R/G/B channels
  • Magic + version + payload type + metadata + checksum are encoded
  • Decode stops if checksum validation fails

Practical Note

Carrier: 1024x768 image
Raw bit capacity: 1024 * 768 * 3 bits
Max payload bytes: floor(capacity / 8)
Encode fails if payload exceeds this limit
ToolMedia & SignalLive

Text to QR

Generate a single QR code PNG from input text.

What is Text to QR?

Text to QR converts one text input into a single QR PNG output.

You can configure size, margin, and error correction level; output is downloaded directly.

Use Cases

  • Sharing short text or JSON snippets
  • Quick mobile scanner testing for payload samples
  • Integrations that require a single-frame QR

Important Settings

Error Correction:
L ~7% / M ~15% / Q ~25% / H ~30%

Note: higher ECL reduces data capacity.
ToolMedia & SignalBeta

Data to QR (Multi QR)

Split text by QR capacity and generate multiple QR frames plus a single GIF output.

What is Data to QR (Multi QR)?

It splits large text payloads according to QR capacity and generates one QR frame per chunk.

All frames are merged into a single animated GIF output.

Workflow

  • Text is split by selected version cap and error correction level
  • Each chunk is rendered as an individual QR PNG frame
  • Frames are encoded into GIF with configured delay
  • Pre-analysis estimates chunk count before generation

What Is It For?

Useful when data does not fit into a single QR.

Example: log exports, large JSON payloads, audit text dumps.
ToolMedia & SignalBeta

Data to Audio

Map byte data to frequency/amplitude/duration/waveform and generate WAV output.

What is Data to Audio (Beta)?

Data to Audio maps payload bytes to an audio signal and generates WAV output.

With matching parameters on encode/decode, data can be restored with checksum validation.

Current Beta Behavior

  • Bit-tone mode: bit 0 and bit 1 are encoded with different frequencies
  • Versioned audio payload with SHA-256 validation
  • Robust preset and transmission repeats for microphone decode
  • Most reliable path is direct decode from generated WAV

Stable Parameter Suggestion

Encoding mode: bit-tone
Waveform: sine
Sample rate: 44100
Unit duration: 20ms
Bit0: 600Hz
Bit1: 1800Hz
Transmission repeats: 3x
ToolKey / ValuePlanned

Key Value Pack

Wrap key/value fields into a single payload and generate visual output.

What is Key Value Pack?

This workflow is designed to collect key-value pairs in one structured payload.

Current state: pair entry UI and JSON preview are ready; PNG export layer is in roadmap status.

Planned Features

  • Schema-aware key/value validation
  • Versioned payload export (PNG-based)
  • Checksum-based integrity validation
  • Field-level restore on decode

Planned Output Model

{
  "customerId": "A-1024",
  "region": "eu-west",
  "plan": "pro"
}

-> wrapped into payload with metadata + checksum
ToolKey / ValueLive

Color Hash Palette

Map data to RGBA pixels, reduce in pairwise steps, and generate the final HEX palette.

What is Color Hash Palette?

It maps input bytes to RGBA pixels, reduces them step-by-step, and outputs a final color list plus hash string.

For the same input, the reduction chain is always identical, making it useful as a deterministic visual fingerprint.

Reduction Algorithm

  • Stage 1: bytes -> RGBA pixels
  • Next stages: pixel pairs (1,2), (3,4) are channel-wise summed modulo 256
  • Unpaired tail pixel is dropped
  • Final palette is produced once pixel count reaches the stop threshold

Hash Generation

Final HEX list:
#RRGGBBAA
#RRGGBBAA
...

Palette hash:
all HEX values concatenated without '#'
ToolKey / ValuePlanned

Key QR Lock

Generate data keys as QR codes so value remains hidden without keys.

What is Key QR Lock?

This planned workflow focuses on distributing decryption/opening keys as QR packages.

The target model keeps value hidden unless all required keys are provided.

Planned Architecture

  • Split key material across QR packages
  • Separate payload path and key path
  • Decode refuses to reveal value without valid keys
  • Key fingerprinting and version tracking for audit

Roadmap Note

Status: Planned
Phase 1: key package format + QR generation
Phase 2: key verification + value reveal flow