Settings and browser storage
Pinchana Web keeps ordinary UI/download preferences in browser local storage and keeps authentication/custom-instance state in HttpOnly cookies.
Current defaults
Section titled “Current defaults”The current client initializes these settings before applying any saved preferences:
| Setting | Default |
|---|---|
| Save automatically after processing | On |
| ZIP multiple files | On |
| Filename style | Pretty |
| Decorative paws | On |
| Reduce motion | Off |
| Convert Twitter/X looping video to GIF when saving | On |
| Preferred download mode | Media |
| YouTube video quality | 1080p |
| YouTube codec | H.264 |
| YouTube container | MP4 |
| YouTube audio format | MP3 |
| YouTube audio bitrate | 128 kb/s |
| Prefer better YouTube audio | Off |
| Dubbed track | Original |
| Embedded subtitle | None |
| Anonymous performance monitoring | Off |
DLP capability data can remove unsupported quality/codec/container/audio options from the UI. A saved value that is not advertised by the selected API falls back to an available choice.
The normal settings object is stored under pinchana-settings and currently contains:
{ "autoSave": true, "zipMultiple": true, "filenameStyle": "pretty", "pawsEnabled": true, "reduceMotion": false, "convertTwitterGifs": true, "downloadMode": "media", "dlpQuality": "1080p", "dlpCodec": "h264", "dlpContainer": "mp4", "dlpAudioFormat": "mp3", "dlpAudioBitrate": "128", "preferBetterAudio": false, "dubLanguage": "original", "subtitleLanguage": "none"}Privacy preference
Section titled “Privacy preference”Monitoring is a build-time deployment choice and a separate user preference.
- If
SENTRY_MONITORING_ENABLED=false, the Web build does not use a supplied DSN for monitoring. - If monitoring is enabled by the deployment, browser error reporting is sanitized.
- Anonymous browser performance measurements require the visitor’s explicit opt-in.
The preference is stored as versioned JSON under pinchana-privacy-preferences. Its anonymousAnalytics value defaults to false. The old pinchana_cookie_consent key is removed when the new privacy preference is written.
Storage inventory
Section titled “Storage inventory”| Name | Storage | Purpose |
|---|---|---|
pinchana-settings |
local storage | UI and download preferences |
pinchana-privacy-preferences |
local storage | Monitoring acknowledgement and anonymous performance opt-in |
pinchana_web_session |
HttpOnly, SameSite=Strict cookie | Signed API browser-session token |
pinchana_instance |
HttpOnly, SameSite=Strict cookie | Selected project-signed custom-instance certificate |
pinchana_locale |
HttpOnly, SameSite=Lax cookie | Interface language |
| Cookie Vault payload | IndexedDB | One encrypted vault containing profile labels, domains, and cookies |
cf_clearance |
Cloudflare cookie, conditional | May exist when Cloudflare clearance/challenge features are enabled |
Session/instance cookies use Secure in production. Changing the selected API instance clears the current browser session so verification is repeated against the correct API/Turnstile configuration.
Cookie Vault
Section titled “Cookie Vault”Cookie Vault is separate from pinchana-settings. It stores a single AES-256-GCM encrypted payload in IndexedDB. PBKDF2-SHA256 uses a device-calibrated iteration count with a 600,000-iteration minimum, and the derived key is not persisted.
Profiles are selected explicitly. Plaintext cookie values are recovered only in browser memory when the unlocked vault is used for a DLP request, then encrypted again for that specific worker before leaving the browser.
Languages
Section titled “Languages”English (en) and Ukrainian (uk) are currently active interface languages. The server resolves locale from pinchana_locale first and Accept-Language second. English is the default.
English and Ukrainian are also currently approved legal locales. Translation catalogs are ordinary JSON files in messages/app and messages/legal.
Diagnostics
Section titled “Diagnostics”The About view shows the public Web revision, sanitized API build manifest, active service count, DLP capability state, session state, generic activity, and coarse device/browser information.
The copy action intentionally excludes submitted URLs, media titles/metadata, Cookie Vault contents, custom API origins, secrets, IP addresses, and the full browser user agent.
Clearing browser site data removes these preferences, sessions, selected instance state, locale choice, and Cookie Vault data. Files already saved through the browser download manager are unaffected.