Preserve needed evidence, conceal selected metadata, keep the key separate
Generate the two packets and restricted key
Nothing is uploaded. The source is held only in this tab, and every displayed output hash covers the exact bytes offered for download.
Exact source CSV schema
The header is case-sensitive and must appear in this order. The generator does not guess renamed columns or silently choose among duplicate IDs.
| Column | Reviewer visibility | Rule |
|---|---|---|
response_id | Key only | Unique and nonblank. |
target_entity | Visible | Required for eligible rows. |
exact_prompt | Visible | Required for eligible rows; never rewritten. |
answer_text | Visible | Required for eligible rows; markup is rendered only as inert text. |
citation_evidence | Visible | Required; the literal value none is allowed. |
engine_surface | Plan-controlled | Visible, deterministically aliased, or concealed. |
run_timestamp | Plan-controlled | Visible or concealed. |
collection_period | Key only | Concealed from both reviewer packets. |
comparison_arm | Key only | Concealed from both reviewer packets. |
prior_label | Key only | Concealed; may be blank if none exists. |
expected_outcome | Key only | Concealed; may be blank. |
evidence_reference | Key only | Replaced by the packet ID in reviewer files. |
collector_note | Key only | Concealed from reviewers. |
review_eligibility | Key only | Exact value eligible or exclude. |
exclusion_reason | Key only | Required when eligibility is exclude. |
residual_cue_status | Key only | Exact value none known, possible, or unblinded/exclude. |
residual_cue_note | Key only | Required for possible and unblinded/exclude. |
Method, export behavior, and limits
The algorithm uses one versioned, deterministic text-seed function and Fisher–Yates shuffle. Reviewer A and reviewer B use separate derived streams. Opaque packet IDs are also stream-derived and are joined back to the source only in the restricted key. Determinism supports reconstruction; it does not make the order cryptographically unpredictable.
The codebook-declaration hash covers the codebook name, version, and endpoint-rule text entered here. It does not hash or authenticate an external codebook file. The masking-plan hash covers the declared modes, owner, date, purpose, and process confirmations. The source hash alone covers the exact imported file bytes.
=, +, -, @, =, +, -, or @, the exported value receives a leading horizontal tab inside the quoted field. This intentionally changes the downloaded cell, is counted in the memo, and is not a universal guarantee across spreadsheet programs or downstream transformations.The generator does not upload, store, email, or share packets; identify reviewers; inspect hidden file metadata beyond the parsed CSV; redact sensitive content; call an AI model; label an answer; measure agreement; compare to a reference standard; adjudicate; prove independence; prove masking success; certify compliance; or support a causal treatment-effect claim.
Method sources and implementation context
- Rayyan blind-mode documentation illustrates concealed independent decisions before conflict resolution in a two-reviewer workflow.
- Potato annotation documentation documents configurable, seeded assignment and randomized annotation workflows.
- JAMA: Effect of Blinding and Unmasking on the Quality of Peer Review reports that textual and contextual clues can defeat masking even when identifying fields are removed.
- ASHA Journals anonymized-review policy inventories identity leakage through text, acknowledgments, comments, revisions, properties, and filenames.
- OWASP: CSV Injection explains why ordinary quoting does not by itself prevent spreadsheet formula interpretation.
Frequently asked questions
What source CSV does the packet generator require?
It requires the exact 17-column answer-evidence schema shown above, with one unique response ID per row, declared review eligibility, and a residual-cue status. Imports are limited to valid UTF-8, 5 MB, and 5,000 data rows.
What evidence stays visible to reviewers?
The target entity, exact prompt, answer text, and citation evidence stay visible because reviewers need them to label mentions, citations, and recommendations. Engine and timestamp treatment follow the masking plan.
Does shuffled metadata make a review blind?
No. Shuffling and selected field concealment can reduce some cues, but answer content, citations, phrasing, and subject matter can still reveal period, surface, intervention, or expected outcome.
Why generate two independent packet orders?
Separate deterministic streams give reviewer A and reviewer B different row orders while preserving the same eligible evidence set. If the two derived orders happen to match, the generator warns instead of silently trying seeds until it gets a preferred result.
Where is the restricted mapping key stored?
Nowhere by this page. It is generated locally for the coordinator to download. The page does not upload, retain, share, email, or verify access to the key.
Are formula-like CSV values changed?
Only downloaded CSV cells whose first non-whitespace character is a formula trigger receive a disclosed leading tab inside an always-quoted field. The browser view preserves the supplied value, and no defense is universal across every spreadsheet importer.
Verify reviewer returns before agreement QA
Reconstruct both blank packets, verify the exact restricted key and mappings, and preserve both original label sets before calculating agreement.