Method & data handling

Trust is a checklist, not a promise.

You don’t need to believe anything about us. Every engagement is structured so the result can be verified mechanically — before you pay and after.

The quality gate every job passes

Intake screenEncoding, delimiter, header hygiene and regulated/credential content are screened before any processing. Regulated data (SSN, PHI, payment cards, legal case files) is refused — across the entire file, not a sample of it.
Count identityInput = clean + merged-away + exceptions. Every input row is accounted for exactly once — proven by a raw-row closure check, not by trusting the worker's own counts. ±0 tolerance, or the job does not ship.
Duplicate integrityZero duplicate keys survive in the clean file under the declared rule — verified by an independent recount, not by the worker.
Exception honestyConflicts and ambiguous matches are flagged with reason codes and their full original rows preserved — never silently “resolved”. What we refuse to guess is listed for your decision.
RecoverabilityEvery merged-away row carries its full original. Every edit is in the change log with before → after. The revert path is real.
Injection guardCells that could weaponize a spreadsheet (=, @, executable +/− payloads) are neutralized and logged. Phone numbers and dates are left alone.
Stranger testEvery package ships with a handoff README: counts, file inventory, how to audit any single change, how to revert. Written for someone who has never spoken to us.

These checks run as scripts, plus a separate independent recount that does not reuse the worker's code. Acceptance criteria are written down before work starts and never softened afterwards.

Checks G1–G7 run as scripts where they can and as a separate independent review pass where judgment is involved. Acceptance criteria are written down before work starts and never softened afterwards.

What a delivery looks like

outputs/
├── clean_contacts.csv        # import-ready dataset
├── changelog.csv             # every change: row, field, before, after, action
├── exceptions.csv            # rows needing your judgment + reason codes
└── README.md                 # counts, rules applied, how to re-run or revert

A sample package on fully synthetic data is available on request — it shows the exact formats, including how conflicts and exceptions are surfaced rather than hidden.

Data handling

AccessSandbox, staging or file-based exports only. We do not request production write access under any circumstances.
RetentionYour files are deleted on your request — deletion is verified against the disk and confirmed in writing at handoff by default. Raw input archived read-only during the job, then deleted.
Form transportWebsite contact/sample forms are delivered to our mailbox via Web3Forms (web3forms.com), which processes only the form fields you submit. Data files are never sent through the form.
ToolingProcessing happens in our isolated working environment with local tooling. No third-party service touches your data without prior disclosure.
ReviewQuality review may include an independent frontier-model pass over reason-coded exception summaries and redacted metadata. Column values stay local unless you approve otherwise in writing — we disclose before any such use.
ConfidentialityNDA-friendly: we review and sign your NDA before any file moves. One named operator with least-privilege access — every touch of your data is attributable to a single accountable person.
IncidentsSuspected data incident → work stops immediately and you are notified the same day. No exceptions, no quiet patches.
DeclinesPHI, payment-card and legal-case data are declined outright.

About

Ames Systems is a small remote data-operations practice led by Ilyas — scripting and AI-assisted tooling behind a deliberately old-fashioned discipline: fixed scope, written acceptance criteria, complete change logs. The practice is new; instead of borrowed credibility it offers inspectability — a free sample on your own anonymized data is the audition.