Define the exercise before loading a file

Name a synthetic or otherwise approved non-production fixture. Write down the fields the import is expected to accept, the operator, and the intended disposition for every fixture row: accepted or rejected. Do not treat a filename or browser-supplied type as proof of what the server accepted. OWASP's File Upload Cheat Sheet is a useful reminder that declared file type alone is not a security check; it does not prescribe a CSV import implementation.

Keep the fixture small and reversible. Include one row that should be accepted and one that should be rejected under the declared schema. That makes an unexpected all-success result as visible as an unexpected all-failure result.

Retain a row-level receipt

After the exercise, record the fixture name, environment, schema, each fixture row ID and disposition, the named operator, and how to reconcile an ambiguous outcome. A total count is useful, but it cannot tell a second person which row was changed or rejected.

The included local checker makes that minimum receipt inspectable:

npm test --prefix sites/howtox.com/evidence/P120

It requires declared fixture approval, accountable-operator role, and both an accepted and rejected fixture row. It checks declarations only: it does not independently prove approval or identity, parse CSV, inspect an uploaded file, reach a storage service, authorize a person, or show that production data can be recovered.

Stop when the boundary is unclear

Do not enable a consequential import if any of these remain unknown:

  • the approved fixture and non-production endpoint;
  • the schema and handling of invalid rows;
  • the person accountable for inspecting the result; or
  • the reconciliation or rollback path if the result is incomplete.

For an adjacent data-boundary exercise, see Plan a Move from Browser-Local Data to a Cloud Database. For authorization testing around internal data, see Test an Internal App Against Company-Data Exposure.

Does a successful fixture prove the import is safe?

No. It is a narrow observation under one declared fixture. It does not prove file safety, production permissions, data quality, scale behavior, or recovery. Use the receipt to decide whether a more representative approved exercise is ready—not as a claim that the import is complete.