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.themeThis 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-livestatus 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
Updated 7 days ago
