[{"data":1,"prerenderedAt":242},["ShallowReactive",2],{"docs-navigation":3,"doc-\u002Fdocs\u002Fevaluation":60},[4,8,12,16,20,24,28,32,36,40,44,48,52,56],{"path":5,"title":6,"description":7},"\u002Fdocs\u002Fquickstart","Quickstart","Read both sides of an INE from your backend and receive structured JSON.",{"path":9,"title":10,"description":11},"\u002Fdocs\u002Fauthentication","Authentication","Keep company API keys on the server and separate them from dashboard access.",{"path":13,"title":14,"description":15},"\u002Fdocs\u002Fcreate-reading","Create a reading","Submit one front and back pair with a stable idempotency key.",{"path":17,"title":18,"description":19},"\u002Fdocs\u002Fretrieve-result","Retrieve a result","Read an existing job without repeating extraction or consuming another unit.",{"path":21,"title":22,"description":23},"\u002Fdocs\u002Fresponse-fields","Response fields","Choose the standard or extended response and use literal fields with review warnings.",{"path":25,"title":26,"description":27},"\u002Fdocs\u002Ferrors-and-retries","Errors and retries","Recover from errors without accidentally creating another charged reading.",{"path":29,"title":30,"description":31},"\u002Fdocs\u002Flimits-and-billing","Limits and billing","Plan allowances, shared admission limits and how reading units are counted.",{"path":33,"title":34,"description":35},"\u002Fdocs\u002Fprivacy-and-security","Privacy and security","Understand result retention, access controls and your backend's responsibilities.",{"path":37,"title":38,"description":39},"\u002Fdocs\u002Fexamples","Integration examples","Copyable server-side Node.js, Python and cURL examples with one POST per attempt.",{"path":41,"title":42,"description":43},"\u002Fdocs\u002Fdashboard","Dashboard usage","View your company's quota and request counts without exposing OCR data.",{"path":45,"title":46,"description":47},"\u002Fdocs\u002Fextended-reading","Extended extraction","Opt in to printed fields, separated address components, provenance and review checks.",{"path":49,"title":50,"description":51},"\u002Fdocs\u002Fwebhooks","Completion webhooks","Receive signed completion events without exposing OCR data in callbacks.",{"path":53,"title":54,"description":55},"\u002Fdocs\u002Fevaluation","Evaluation and limitations","Measured illustration results, remaining errors, and the limits of the extended profile.",{"path":57,"title":58,"description":59},"\u002Fdocs\u002Faddress-parts","Address parts","Use separate address inputs while retaining literal OCR and exact text sources.",{"id":61,"title":54,"body":62,"description":55,"extension":235,"meta":236,"navigation":237,"path":53,"seo":239,"stem":240,"__hash__":241},"docs\u002Fdocs\u002F13.evaluation.md",{"type":63,"value":64,"toc":228},"minimark",[65,69,89,94,97,166,169,172,183,187,190,193,200,204,207,225],[66,67,68],"p",{},"We tested the API with existing official public INE illustrations. They repeat a fictional identity, and some front\u002Freverse dates are inconsistent. These development tests help find defects; they do not establish production accuracy or represent independent people.",[66,70,71,72,76,77,80,81,84,85,88],{},"The first run contained eleven readings. Its three standard base pairs returned ",[73,74,75],"strong",{},"16\u002F16 labelled scalar values",", with ",[73,78,79],{},"6\u002F9 exact MRZ lines",". The first extended candidate returned ",[73,82,83],{},"10\u002F16 scalar targets"," and ",[73,86,87],{},"4\u002F9 MRZ lines"," on those same pairs; one request failed. A reverse-only WEBP request also failed. Both failures remain in the record and the denominators.",[90,91,93],"h2",{"id":92},"focused-revision","Focused revision",[66,95,96],{},"We revised the extended profile and reran six selected cases with exactly the same image bytes, labels and exclusions. All six requests succeeded, including both previously failed cases. No automatic POST retries were used.",[98,99,100,120],"table",{},[101,102,103],"thead",{},[104,105,106,110,114,117],"tr",{},[107,108,109],"th",{},"Revised extended cases",[107,111,113],{"align":112},"right","Successful requests",[107,115,116],{"align":112},"Correct visible scalar values",[107,118,119],{"align":112},"Exact MRZ lines",[121,122,123,138,152],"tbody",{},[104,124,125,129,132,135],{},[126,127,128],"td",{},"Three original pairs",[126,130,131],{"align":112},"3\u002F3",[126,133,134],{"align":112},"16\u002F16",[126,136,137],{"align":112},"6\u002F9",[104,139,140,143,146,149],{},[126,141,142],{},"JPEG and resized versions of the 2019 pair",[126,144,145],{"align":112},"2\u002F2",[126,147,148],{"align":112},"10\u002F12",[126,150,151],{"align":112},"4\u002F6",[104,153,154,157,160,163],{},[126,155,156],{},"Reverse-only WEBP",[126,158,159],{"align":112},"1\u002F1",[126,161,162],{"align":112},"No present scalar targets",[126,164,165],{"align":112},"2\u002F3",[66,167,168],{},"The reverse-only case also returned the six labelled absences correctly. We report those separately rather than counting empty values as visible-text accuracy.",[66,170,171],{},"Two literal address mismatches remain in the transformed cases. MRZ is still imperfect in five of six revised readings; its JPEG\u002Fresize score changed from 5\u002F6 exact lines in the first run to 4\u002F6 in the revision. Improvement was not uniform.",[66,173,174,175,178,179,182],{},"The revised readings took ",[73,176,177],{},"12.30–14.59 seconds"," end to end. The first standard base readings took ",[73,180,181],{},"4.24–6.84 seconds",". These observed ranges come from a small run, not service guarantees or production percentiles.",[90,184,186],{"id":185},"what-remains-unvalidated","What remains unvalidated",[66,188,189],{},"The twelve additional extended scalar fields have populated-field coverage only, without independent correctness labels in this test. CIC, OCR and ambiguous source fields remain excluded. Returning a value does not prove it is correct.",[66,191,192],{},"Synthetic JPEG, resize, blur and rotation cases reuse existing images. Their targets remain the original labels; changed legibility has not been independently reviewed. The initial 180-degree case reported no observed rotation on either side. Blur and rotation were not rerun in the focused revision. Quality and side observations remain unvalidated signals and must not automatically approve an image.",[66,194,195,196,199],{},"The six revision cases were selected ",[73,197,198],{},"after inspecting the first run",". This is a focused regression check, not an unseen or unbiased accuracy study. Image and label hashes were frozen before each capture, expected values never entered a model prompt, and original failures were preserved.",[90,201,203],{"id":202},"versions-and-review","Versions and review",[66,205,206],{},"Measured on 29 September 2026 UTC:",[208,209,210,219],"ul",{},[211,212,213,214,218],"li",{},"First candidate: ",[215,216,217],"code",{},"649ef92e-d9a2-44a6-b415-5656275363fd",".",[211,220,221,222,218],{},"Revised extended candidate: ",[215,223,224],{},"73bec5c3-db0b-4093-a8c6-32a8343306f5",[66,226,227],{},"Every response requires review. Extraction and format checks do not confirm INE registry membership, document authenticity or a person's identity. A production accuracy estimate needs authorized photographs from additional people, realistic capture conditions and independent labels prepared before inference. We do not claim 100% precision from these specimens.",{"title":229,"searchDepth":230,"depth":230,"links":231},"",2,[232,233,234],{"id":92,"depth":230,"text":93},{"id":185,"depth":230,"text":186},{"id":202,"depth":230,"text":203},"md",{},{"title":238},"Evaluation",{"title":54,"description":55},"docs\u002F13.evaluation","N2ZF9E5H4UY65_WKC4CRqcjc-zWjxLQcIWdDpXyLHeY",1790659707421]