Themes, Privacy, and User Experience

Stegodon includes multiple interface themes, local theme persistence, and a privacy-oriented all-local workflow.

Theme System

Stegodon supports the following themes:

  • Auto (system)
  • Tusk
  • Infrared
  • Glacier
  • Savanna
  • Jungle
  • Lab Mono

The selected theme is applied to the page by changing the document's data-theme attribute.

Theme Persistence

Stegodon stores the selected theme in browser local storage using the key:

stegodon.theme

This allows the preferred theme to persist across sessions in the same browser.

Tabs and Navigation

The interface uses a simple tabbed layout:

  • Embed
  • Extract
  • Detect
  • Help

Only one panel is shown at a time.

Carrier-Aware UI Behavior

Stegodon adapts parts of the interface depending on the chosen carrier:

When a WAV is selected

  • the image channel selection row is hidden
  • WAV capacity logic is used

When an image is selected

  • image channel selection remains visible
  • image capacity logic is used

Payload Mode Toggle

The Embed section switches between:

  • a text area for text payloads
  • a file picker for file payloads

Preview Behavior

Image carriers

Stegodon shows:

  • original image preview
  • stego image preview

WAV carriers

Stegodon shows:

  • original audio player
  • stego audio player

Accessibility Notes

The interface includes:

  • standard form labels
  • status areas for warnings
  • role-based tab semantics
  • aria-live status regions for warnings

Local Processing Model

The application code performs its work in the browser using:

  • FileReader
  • Canvas
  • Web Crypto API
  • local JavaScript memory

No server-side upload mechanism is implemented in the supplied code.

Privacy Statement

The Help and footer content emphasize that processing is local and that files do not leave the browser.

This is consistent with the core embed, extract, and detect workflows in the code.

Motion and Branding

The Stegodon header includes a custom logo with:

  • a 3×3 pixel grid motif
  • animated pattern switching
  • a waveform element

If the browser indicates reduced-motion preferences, animation behavior is softened.

UX Recommendations

  • Keep the current tab layout
  • Keep capacity analysis prominent
  • Consider adding a clearer “usable capacity after overhead” estimate
  • Consider adding a visible summary of header overhead before embedding
  • Consider adding more detailed errors for decryption failures

Did this page help you?