Technical contract

Supported browsers, direct files, offline use, and hard ceilings.

Supported posture: the researcher app targets current stable Chromium, Firefox, and WebKit-family desktop browsers. Generated participant HTML files are tested both from a local server and directly from file://. Mobile browser behavior is supported for participant work but must be piloted on the actual devices used.

Hard project limits

Active or retired draft cards120 total; a frozen edition needs at least 5 active cards
Predefined categories24
Stored response records250
Frozen editions20
Manual standard labels40
Candidate structure groups20
Undo snapshots60 per open tab; not persisted across reload
Project checkpoint10,000,000 UTF-8 bytes
One response file2,000,000 UTF-8 bytes
Generated participant pack3,000,000 UTF-8 bytes

Version 1 content scope

Cards are plain text: one label, optional participant explanation, optional researcher-only note, active/retired status, and order. No image, audio, video, URL, embed, HTML, script, attachment, or external asset is accepted. This keeps participant packs portable and reduces rights, privacy, and browser-consistency risk.

Browser storage

The researcher app uses IndexedDB where available. If it cannot open, the app runs in a session-only memory fallback and says so visibly. Browser storage can disappear because of private browsing, profile reset, manual clearing, storage pressure, device loss, or browser changes. Download checkpoints regularly.

Multiple tabs

Where Web Locks are supported, one tab receives the project writer lease and later tabs are read-only. Revision-checked saves remain the fallback protection. If a browser lacks Web Locks, avoid editing the same project in two tabs.

Offline behavior

The installed/previously loaded researcher shell uses a service worker on HTTP(S), not on file://. The generated participant file is self-contained and needs no service worker. Its content security policy blocks network connections and remote assets.

Downloads on mobile

Mobile operating systems vary in how they expose downloaded HTML/JSON files, file pickers, browser handoff, and return routes. Do not assume desktop behavior. Pilot the exact device/browser/file-transfer combination and provide participant instructions.

Not supported

Production gate: automated browser coverage does not replace real-device, assistive-technology, organizational security/privacy, professional research-method, legal, hosting, and incident-response review.