All posts

The errors that have nothing to do with the law

The Attest team11 min read

Ask an immigration attorney what loses cases and you will hear about evidentiary standards, adjudicator discretion, and policy that moved under everyone’s feet. Ask a paralegal who has been at it a decade and you will hear about a credential evaluation nobody ordered, a form that had been reissued in March, and a name that appeared as Ahn on one exhibit and Anh on five others.

Both answers are right. The second one is the one you can do something about this week.

What follows are six failure modes that have nothing to do with legal skill. None of them is the result of anyone being careless — every one of them is the predictable consequence of doing cross-referential work, from memory, against a deadline, while three other files are open. They are worth naming individually, because each has a different cause and a different fix.

1. The document nobody asked the client for

The most expensive gap in a filing is usually a document that was never requested. Not refused, not late — simply never asked for, because at the moment the checklist was being worked through, the case looked like it didn’t need it.

The mechanism is almost always the same. A conditional item — a credential evaluation, but only for foreign degrees; a translation, but only for non-English documents; an organisational chart, but only where the role’s supervision is in question — gets skipped early, when the facts aren’t all in yet. By the time the facts arrive, the checklist has been mentally filed as done. Nobody revisits a completed list.

Document checklist — H-1B

2 never requested

Passport biographic page, visa, I-94

Received

Degree certificates and transcripts

Received

Detailed job offer letter with duties breakdown

Received

Employer support letter

Requested

Credential evaluation (foreign degrees)

Never requested

Company organisational chart

Never requested
Requested and received are different states, and never-requested is a third. Collapsing them into a tick box is what hides the gap.

What helps: a checklist that distinguishes received from requested from never requested, rather than reducing all three to ticked or unticked. The first two are progress. The third is a decision nobody made on purpose, and it should look different from the others on the screen. In Attest the checklist is generated from the case type, so the conditional items are on the list from day one whether or not they apply yet, and a client portal shows the client the same list you are looking at.

2. Last year’s edition of the form

Every USCIS form carries an edition date in its footer. The agency reissues forms on its own schedule, states the current edition on the form’s own page, and says there which earlier editions it will still accept. Sometimes that window is generous. Sometimes it is nothing.

Nothing tells you when it changes. There is no version feed a practice management system subscribes to. The blank in your firm’s shared drive was correct on the day someone downloaded it, and it sits in that folder looking exactly as correct on the day it isn’t. This is not a discipline problem — the document gives no signal when it goes stale.

One form is behind the edition USCIS publishes: I-589. Filing an out-of-date edition risks rejection. A newer edition needs its blank registered and a new field mapping authored before auto-fill can use it.

I-589

Application for Asylum and for Withholding of Removal

Held 01/20/25 · 12 pp · 460 fields

USCIS publishes 07/28/26

I-485

Application to Register Permanent Residence or Adjust Status

Held 01/20/25 · 24 pp · 760 fields

Current
A real check running against real form pages: the edition each blank is held at, compared with what the agency currently publishes.

That warning is one we watched fire on a live library while writing this: I-589 held at 01/20/25 against a published 07/28/26.

What helps: checking the agency’s own page per form, on a schedule, rather than from memory. Attest reads the edition date off each form’s page and compares it verbatim with the edition the firm holds — no reformatting, because the only value worth comparing is the string you can check against the footer of the PDF in your hand.

There is a second-order version of this that catches people who thought they were safe: a new edition moves the fields. If anything in your process fills the form automatically, the new edition has renumbered items and renamed the underlying fields. The old map still runs. It just puts answers in the wrong boxes, silently, producing a form that looks filled. That half of the problem gets its own post — the form changed and nobody sent a memo.

3. A name spelled two ways

A client’s name arrives from six sources: a passport that prints it in one order, a degree certificate with the diacritics intact, a credential evaluation typed by a third party, an employer letter from someone who calls her Ms. Nguyen, a prior approval notice, and an intake form filled in on a phone. Each document is internally correct. The set is not.

Nobody catches this by reading one file at a time, which is the only way anyone reads files. The contradiction does not exist inside any single document — it exists between them.

Beneficiary — Nguyen Thi Minh Anh

2 spelled differently

Passport biographic page

Nguyen Thi Minh Anh

Exact

I-94 record

Nguyen Thi Minh Anh

Exact

Degree certificate

Nguyễn Thị Minh Anh

Exact

Credential evaluation

Nguyen Thi Minh Ahn

Near-miss

Employer support letter

Ms. Nguyen

Surname only

Prior I-797 approval

Nguyen Minh Anh

Near-miss
The same name read across every document on the case. The near-misses are the actionable rows: the name is present, and spelled another way.

What helps: a scan across everything on the case at once, with the near-misses separated from the absences. A document where the name is simply not present is usually fine — it is a company financial statement, and the beneficiary was never going to appear in it. A document where the only match is a near-miss is the one to open.

Two details decide whether a check like this gets used or ignored. Diacritics are stripped before comparison, so Nguyễn and Nguyen are the same name rather than a false alarm on every file with a degree certificate in it. And short surnames are matched exactly, never fuzzily — Li and Ng sit one edit from a great many things, and a checker that flags them every time stops being read at all.

4. The document filed against the wrong thing

A client emails four scans with no subject line. A colleague uploads an approval notice to the case they had open rather than the case it belongs to. Someone saves scan_0042.pdf to a checklist item that is nearly but not quite the right one.

Misfiling is uniquely corrosive because it produces a false negative on completeness. The document exists, so nobody goes looking for it. The checklist item it should have satisfied still reads as outstanding, or worse, reads as satisfied by the wrong file. The gap is invisible in exactly the place you would look for it.

Inbox — 3 documents read

1 needs a decision

i797_approval_scan.pdf

Receipt WAC2590... → matched to Nguyen — H-1B extension

Matched

transcript_final.pdf

Placed against Degree certificates and transcripts

Matched

scan_0042.pdf

No identifier found — surfaced for the attorney to place rather than filed on a guess.

Unplaced
Documents matched to a case by the identifiers printed on them — and, where there is no identifier, surfaced for a person to place rather than filed on a guess.

What helps: matching on what the document actually says rather than on where it was dropped. A receipt number, an A-number, a beneficiary name printed on page one — these are strong signals, and they are on most of what arrives. In Attest anything dropped into the inbox is read, matched to a case by its identifiers, and queued as a proposal; nothing touches a case until someone files it.

The important half is the failure behaviour. A file with no identifier is surfaced as unplaced, not filed on the system’s best guess. A document quietly attached to the wrong case is worse than a document sitting in a tray waiting for ten seconds of human attention, because the first one looks handled.

5. The required field left empty — or filled from a guess

Long forms defeat proofreading. The I-129 blank carries around 980 fields; the N-400 carries 440. Nobody re-reads 980 fields at 7pm, and a second pair of eyes on a form that long is a second pair of eyes that also skims.

There are two distinct defects here and they deserve different treatment. A required field left empty is a defect. An optional field left empty is a decision. And a field filled with a plausible value that came from nowhere in particular is the most dangerous of the three, because it is the one that survives proofreading — it looks answered.

I-129 — 980 fields, 2 flagged

Not approvable yet

Part 1, 1.a · Legal name — family name

from client.lastName

Nguyen

Part 2, 4 · Basis of classification

from case.caseType

H-1B

Part 3, 7.b · Date of last arrival

required — no source on the case

empty

Part 5, 2 · Worksite address, line 2

no mapping — fill by hand

empty

Each field carries the record it came from. The ones with no source stay empty and flagged rather than being filled with something plausible.

What helps: provenance on every filled field, and a refusal to guess. In Attest a field resolves from a specific place on the case — a client record, an intake answer, a case field — and carries that reference with it. A field with no source resolves empty and flagged. The count of flagged fields sits on the form before anyone opens it, so “is this ready” is a number rather than a feeling.

6. The version you filed is not the version you fixed

This is the cruellest one, because it happens after the work is right. The support letter gets replaced with the corrected draft. The exhibit index gets renumbered. Someone swaps in the legible scan. And then the PDF that goes out is the one assembled that morning, before any of it.

It happens because assembly feels like a finishing step, and finishing steps get done early when a deadline is close. The bundle becomes a snapshot that everyone then treats as live.

Filing bundle

Blocked

All 14 exhibits processed and readable

Bundle assembled and up to date

Contents changed since the last assembly — the support letter was replaced 2 hours after the PDF was built. Reassemble before filing.

Bundle within the filing size limit

Assembly freshness as a blocking condition: the bundle knows it was built before the last change, and says so instead of letting the stale PDF out.

What helps: treating staleness as a blocking state rather than a note. In Attest a bundle assembled before its contents last changed reports as out of date, and the blocking checks are re-run on the server at the moment of assembly — so a warning dismissed in a browser tab twenty minutes ago cannot become a filed document.

The common thread

Read the six together and the pattern is hard to miss. Not one of them is a knowledge problem. Every one is a memory and cross-referencing problem — information that was correct in one place and needed to be checked against another place, by a person holding several files in their head, under time pressure.

That is worth saying plainly, because the instinctive response to clerical error is to ask people to be more careful, and it does not work. Care is not the scarce resource. Attention across documents is, and it degrades exactly when the week gets bad — which is also when the deadline is closest and the filing matters most.

The fix is not a more disciplined human. It is having the check already run by the time anyone looks: the edition compared before the blank is opened, the name scanned as each document arrives, the flagged fields counted on the case, the bundle aware of its own staleness. Not a report somebody remembers to commission — a state the file is already in.

Attest does not file anything and does not decide anything. The attorney approves every form, every claim and the bundle itself. The software’s job is narrower and duller than that: to make sure nothing reaches the approval step unexamined, so the judgment you apply is applied to a record you have already seen the holes in.

If you want to see what it flags on a file of your own, you can drop a document in and watch what comes back, or book a demo and bring the case you are least comfortable filing this week.

Attest is software, not a law firm, and this post is not legal advice. It describes how to organise a file, not what to argue in one. Edition acceptance policy is stated by the agency on each form’s own page and changes without notice — check it there. The supervising attorney retains sole professional responsibility for the filing.

More posts

  • When the first filing is the only filing

    USCIS has restored officers' discretion to deny a deficient filing outright, with no RFE and no NOID. The change is a policy update, not a new standard — but it removes the safety net most filing workflows were quietly built on.

  • The form changed and nobody sent a memo

    USCIS reissues forms on its own schedule and tells you on a page you have no reason to visit. Worse, a new edition moves the fields underneath any process that fills the form — silently. How edition drift actually happens, and how to check.

Bring your hardest case. Leave knowing where every claim came from.

Attest is software, not a law firm, and does not provide legal advice.