What this gate is holding right now
Every one of these releases only when the gate clears — none can be released individually.
3 holds
Closing funds wire to Cascade Title
Proposed Aug 14, 8:55 AM by Tom Bottenberg. Cannot reach approval — a disbursement approval requires a
fresh, clear screen on every party and on the payee. Three separate reasons currently fail that test.
$326,246.11
held · not rejected
Earnest money release — already approved, will not execute
Approved Aug 12 by Sandra Osman and sitting at Ready to wire. The gate closed after approval, so
execution is suspended. The approval is not void; it is held.
$25,000.00
suspended
Document filing on this exchange
Assignment of Relinquished Contract and Notice of Assignment (Buyer) cannot be
filed or sent for signature while a party is unscreened. Two documents queued behind the gate.
2 documents
queued
What the gate does not stop: the statutory clock
Day 95 of 180. The 180th day is Nov 12, 2026 and the identification period closed Jul 24.
Neither date moves because a screening hold is open. Time spent on this disposition is time taken out of the
closing window.
85 days left
unchanged by this gate
Total client funds held behind this gate
$351,246.11
Screening subjects on this exchange
Every named party, entity, beneficial owner and payee. Identity and sanctions are separate states — a subject can be verified and still not clear.
3 clear
3 holding
1 awaiting subject
| Subject & role | Identity verification | Sanctions screening | Screening freshness | Holding | |
|---|---|---|---|---|---|
|
Matt Belcher
Exchanger · individual
|
Verified
Persona · government ID + passive liveness
CA driver licence ••••8317 · Jul 22, 2026 |
Clear
6 lists · highest score 12.4 (below 65 floor)
Run SCR-2026-004102 · Aug 15 |
4d / 30d
Next Sep 14, 2026
|
— | |
|
Belcher Family Trust
Titleholder of record · revocable trust
|
Entity verified
Manual review by Sandra Osman
Certification of trust + EIN letter · Jul 23, 2026 |
Clear
Entity + both trustees screened
Run SCR-2026-004103 · Aug 15 |
4d / 30d
Next Sep 14, 2026
|
— | |
|
Piotr A. Ostrowski
Beneficial owner, 28% · Meridian Ridge Holdings LLC (seller, replacement property)
Also a subject on EX-2026-000221
|
Verified
1 field mismatch open
Persona · Polish passport ••••4471 + liveness · Jul 28, 2026
|
Possible match 82.0
OFAC SDN, 2026-08-15 edition · entry SDN 44182
Run SCR-2026-004417 · Aug 17 · disposition required |
Held
No further runs until disposed
|
$326,246.11
wire + 2 documents
|
|
|
Meridian Ridge Holdings LLC
Seller, replacement property · Delaware LLC
|
Entity documents on file
Formation certificate + certificate of good standing
3 of 3 owners above 25% identified · Aug 3, 2026 |
Entity clear · owner under review
The entity itself scored 8.1. An entity is not clear while a beneficial owner is not.
|
2d / 30d
Next Sep 16, 2026
|
Inherits the owner hold
|
|
|
Cascade Title Company
Settlement agent · disbursement payee
|
Institution on file
W-9 on file · wire instructions confirmed by outbound callback to a
published number, Aug 12, by Priya Raman
|
Never screened
Added as payee Aug 14; the add-payee screen did not run.
A payee must clear before its disbursement can be approved.
|
No run on record
Required before approval
|
$326,246.11
same wire
|
|
|
Dorothy L. Belcher
Co-trustee · Belcher Family Trust
|
Verified
Persona · government ID + passive liveness
CA driver licence ••••2049 · Jul 23, 2026 |
Rescreen overdue
Last completed run Jun 14, 2026 — clear at that date.
Aug 15 and Jul 16 runs errored (provider timeout) and were never retried.
|
66d / 30d · 36d over
2 runs failed, 0 retried
|
$326,246.11
same wire
|
|
|
Anne Whitfield
Buyer, relinquished property · individual
|
Not started
kyc_status = none · verification link sent Aug 9,
3 reminders, never opened
|
Cannot run
Screening needs a verified name and date of birth. Nothing to screen against yet —
this is not a clear result.
|
Blocked upstream
10 days waiting
|
2 documents
|
|
Two of the three holds are staleness, not hits. A failed screening run and an
un-run payee screen produce exactly the same exposure as a positive match, and they are far easier to miss.
A run that errors degrades the subject to overdue — it never leaves the last clear result standing.
Possible OFAC SDN match — disposition required
Subject Piotr A. Ostrowski against SDN entry 44182 · composite 82.0 · run SCR-2026-004417, Aug 17, 2026 9:04 AM
Blocks this file
Screened because the SDN list was republished on Aug 15 with 14 added and 3 amended entries.
The same subject scored 41.2 against the Jul 28 edition and cleared automatically. The subject did not
change — the list did. A recorded disposition attaches to the subject, so it will also release
EX-2026-000221.
Evidence, side by side
Field
Our subject
From verified identity documents, EX-2024-0147
Listed entity — SDN 44182
OFAC Specially Designated Nationals, 2026-08-15
Assessment
Full name
Piotr Andrzej OstrowskiAs printed on passport, MRZ verified
OSTROWSKI, PiotrNo middle name or patronymic on the entry
Near match · 0.94
Also known as
None on file
OSTROVSKI, Pyotrweak a.k.a. · transliteration variant
Partial
Date of birth
14 Mar 1979Extracted from passport MRZ, matches record on file
02 Nov 1971Single DOB on the entry, no range given
Conflict · 7 yr apart
Place of birth
Kraków, Poland
Minsk, Belarus
Conflict
Nationality
PolandSingle citizenship declared and documented
Belarus; Russian Federation
Conflict
Address
4180 SE Rhone St, Portland, OR 97202From proof of address, Jul 28
Nezalezhnasci Ave 42, Minsk, Belarus
Conflict
Identifiers
Passport POL ••••4471 · exp 2029-06-02SSN not held — subject is a non-resident owner
Passport BLR ••••4558 · National ID 7911••••Two strong identifiers on the entry
No overlap
List & programme
Not applicable
OFAC SDNProgrammes: BELARUS-EO14038, CYBER2
Reference
Listed since
Not applicable
09 Aug 2021Amended 11 Feb 2026 — a.k.a. added
Reference
Entry remarks
Not applicable
Director of a designated technology enterprise; acting for or on behalf of a blocked entity.Full remark text is 412 characters — expand to read all
Green on the assessment column means the evidence points away from the listed entity. A conflict is a
good sign here, and it is the material a false-positive rationale is built from.
How the engine reached 82.0
Name-weighted composite: a base similarity score, then additive corroboration and subtractive contradiction.
82.0 composite
0 · auto-clear, logged
65 · review floor
90 · auto-block
100
| Component | Observation | Contribution |
|---|---|---|
| Primary name similarity | Jaro-Winkler on transliterated surname and given name, 0.94 | +94.0 |
| Alias corroboration | Weak a.k.a. “OSTROVSKI, Pyotr” is a phonetic variant of the subject surname | +4.0 |
| Strong identifier match | No passport, national ID or tax ID in common | 0.0 |
| Date of birth agreement | Documented DOB conflicts with the listed DOB by 7 years 4 months | −12.0 |
| Nationality agreement | Single documented citizenship, not among the listed nationalities | −4.0 |
| Composite | Above the 65 review floor, below the 90 auto-block line — manual disposition required | 82.0 |
Name similarity alone carries this score over the floor. That is the intended behaviour — a name-only
hit on a sanctions list is exactly the case a human is supposed to look at, and exactly the case a threshold
cannot settle on its own.
Disposition
Three outcomes. Two of them change what the platform is allowed to do with this file, and neither of those
takes effect on your signature alone.
Also available: different place of birth · different nationality · distinct strong identifier ·
common name with no other corroboration · subject is a documented US person and the entry is not.
The code drives reporting; the narrative below is what an examiner reads.
528 characters
·
Meets the 40-character minimum
·
Retained for 7 years, exportable to examiners
Attestations required
Evidence attached
Passport extraction — MRZ and DOB
SDN 44182 entry, as fetched Aug 17
Attach another
Attachments are copied into the disposition record, not linked — the record must still read correctly in seven years.
A false-positive disposition creates no report obligation. It does suppress this subject–entry
pair from future alerts, which is why it needs a second reviewer: a wrong suppression is silent.
Selecting this requires
- A documented rationale, 40 characters minimum, naming the identifiers that agree.
- Acknowledgement that all funds on the file are frozen on submission, including the approved earnest release.
- A SAR determination recorded by the BSA/AML officer — filed, or documented as considered and not filed. Both outcomes are written to the record.
- A blocking report to OFAC within the statutory window, raised as a Vectr workflow task with its own clock.
- Second review by a BSA/AML officer who is not you. There is no self-confirmation path.
Do not notify the subject, the seller, or any counterparty that this review is happening.
Tipping-off rules apply from the moment this option is selected.
Selecting this requires
- What is being requested — a second identity document, a certified translation, an ownership chart, a sworn statement.
- Who it is requested from, and through which channel. A request to the subject cannot describe the sanctions alert.
- A due date. The item lands in your queue and re-alerts daily past due.
Screened by workflow · Aug 17
Disposition recorded by you — Tom Bottenberg
Second review — Sandra Osman, BSA/AML officer
Gate releases · 2 of 3 holds remain
You cannot approve your own disposition. Recording sends it to a reviewer who did not write
it — the same approver-is-not-proposer rule the disbursement queue runs on, enforced in the database rather
than in this screen. Clearing this match still leaves the unscreened payee and the overdue rescreen holding
the wire.
Identity verification — Piotr A. Ostrowski
Persona session inq_8f31c0 · Jul 28, 2026 2:08 PM · kyc_status = verified
1 mismatch open
Passport data page
Image withheld in this mockup
POL passport ••••4471·captured 2:04 PM
Liveness capture
Image withheld in this mockup
3 frames·captured 2:07 PM
Liveness passed · 0.97
Passive detection plus a motion challenge. iOS 18.4 Safari, IP geolocated to
Portland, OR — consistent with the address proof, not with the address on file.
Opening a document image is itself an audited event, attributed to you and retained.
Identifier fields are masked to the last four everywhere except the image.
Extracted from the document, against what is on file
| Field | Extracted from document | On file | Result |
|---|---|---|---|
| Given name | Piotr | Piotr | Match |
| Middle name | Andrzej | Not captured |
Additive
Write it to the file; it is not corroboration for or against the SDN entry.
|
| Family name | Ostrowski | Ostrowski | Match |
| Date of birth | 1979-03-14 | 1979-03-14 |
Match
This is the field the false-positive rationale rests on.
|
| Nationality | POL | POL | Match |
| Document number | ••••4471 | ••••4471 | Match |
| Expiry | 2029-06-02 | Not captured | Nothing to compare |
| MRZ checksum | Valid | Not applicable | Pass |
| Residential address | 4180 SE Rhone St, Portland, OR 97202 From the utility bill uploaded Jul 28 |
812 W 6th St, Austin, TX 78701 Entered at intake Jul 19 |
Mismatch
Different state. Needs resolution before closing.
|
Address mismatch is unresolved. The platform will not silently overwrite either
value. Ask the subject which address is current and collect a dated proof — a mismatch resolved by
guessing is a mismatch that reappears at closing.
Mark identity verified is permanently disabled for every console
role, including platform administrators. Identity is proven by the subject to the provider, never asserted
by staff on the subject's behalf. It is shown here rather than hidden so the rule is visible, not just
enforced.
Screening and decision audit
Every run, every list load, every failure, every decision — on this exchange, newest first.
Append-only
| When | Event | Subject | Actor | Detail | Reference |
|---|---|---|---|---|---|
| Aug 17, 9:05 AM | Gate closed | Exchange EX-2024-0147 | System policy rule |
Money movement and document filing suspended. Approved earnest release held at Ready to wire. | GATE-0147-11 |
| Aug 17, 9:05 AM | Alert routed | Ostrowski, Piotr A. | System notification |
To Tom Bottenberg (coordinator) and Sandra Osman (BSA/AML officer). Subject not notified — tipping-off suppression on. | NTF-2026-88214 |
| Aug 17, 9:04 AM | Screening run — list edition trigger | Ostrowski, Piotr A. | Vectr workflow aml.screen · v3.2.0 |
Composite 82.0 against SDN 44182 (OFAC SDN 2026-08-15). Above the 65 review floor — manual disposition required. 6 lists searched, 1 alert. | SCR-2026-004417 |
| Aug 15, 6:02 AM | Scheduled rescreen — book-wide | 218 subjects | Vectr workflow aml.screen.batch |
214 clear · 1 alert · 3 errored (provider timeout, including Dorothy L. Belcher). Errors were not retried — subjects degraded to overdue. | SCR-BATCH-0813 |
| Aug 15, 6:01 AM | List edition loaded | OFAC SDN | Vectr workflow aml.lists.sync |
Edition 2026-08-15 · 14 entries added, 3 amended, 1 removed. Checksum verified against the publisher manifest. | LST-2026-0815 |
| Aug 14, 8:56 AM | Payee added — screening not run | Cascade Title Company | Tom Bottenberg coordinator |
Added as disbursement payee. The add-payee screening trigger did not fire; the payee remains unscreened and the disbursement cannot reach approval. | PAY-0147-004 |
| Jul 28, 2:12 PM | Screening run — party added | Ostrowski, Piotr A. | Vectr workflow aml.screen · v3.2.0 |
Highest composite 41.2 against OFAC SDN 2026-07-24 — below the review floor, auto-cleared and logged. | SCR-2026-003991 |
| Jul 28, 2:10 PM | Identity verified | Ostrowski, Piotr A. | Persona webhook via workflow callback |
Passport plus liveness passed. kyc_status pending_review → verified. Written by the webhook path; no console actor involved. | KYC-inq_8f31c0 |
| Jul 28, 2:08 PM | Identity submitted | Ostrowski, Piotr A. | Subject self-service |
kyc_status none → pending_review. Submission alone grants no authorization flag. | KYC-inq_8f31c0 |
| Jun 14, 6:02 AM | Scheduled rescreen | Belcher, Dorothy L. | Vectr workflow aml.screen.batch |
Clear at that date. This is the most recent completed run for this subject — everything after it errored. | SCR-2026-002884 |
Rows are written once and never edited or deleted — not by a coordinator, not by a QI administrator, not by a
platform administrator. Each row is forwarded to the Vectr audit log as it is written, so the console and the
log can be reconciled against each other. A failed run is a row; a suppressed alert is a row; reading a document
image is a row.
Queue preview — Identity & AML across the book, grouped by what it holds
Ostrowski, Piotr A.
SDN match 82.0
Disposition required before anything on the file moves. Same subject also holds
EX-2026-000221 — one disposition releases both.
$351,246.112 days open
Cascade Title Company
Payee never screened
Added as payee Aug 14; the add-payee trigger did not fire. A payee must clear before
its disbursement can be approved.
$326,246.115 days
Delgado, Maria & Luis
Screen expired at approval
Closing disbursement reached approval with a 34-day-old screen. The approval check
rejected it — a fresh screen is required, not a waiver.
$1,094,000.00today
5 selected
Belcher, Dorothy L.
2 runs errored
Last completed run Jun 14. Provider timeout on Jul 16 and Aug 15, no retry scheduled.
36d over30-day cadence
Ravensworth Trust
2 runs errored
Same provider timeout window. Trust plus two trustees, three subjects behind one row.
36d over30-day cadence
Hargrove Industrial LP
Cadence lapsed
Partnership added two limited partners on Aug 2; the new owners were screened, the
partnership itself was not re-run.
9d over30-day cadence
Vasquez Commercial Group
Beneficial owners incomplete
2 of 4 owners above the 25% threshold identified. The remaining two are held by a
second entity — the ownership chain has to be walked to a natural person.
4 days
Whitfield, Anne
Verification not started
Link sent Aug 9, three reminders, never opened. A phone call is usually faster than a
fourth reminder.
10 days
Okonkwo Holdings LLC
Manual review · foreign passport
Automated document check timed out on a non-Latin document. Needs a human read of the
passport and a certified translation.
3 days
Nakashima Family Trust
Verification rejected
Document expired at capture. kyc_status = rejected — the
subject has to submit again; nobody here can override it.
6 days
6 verification links outstanding
Oldest sent 10 days ago. Reminder cadence every 3 days, escalating to the coordinator at
day 14. Expand to see each subject.
oldest 10d
Build contract — identity & AML review
1 · Nothing on this surface clears itself. Every disposition that releases a gate —
false positive, or a true match confirmed and then resolved — requires a second reviewer who did not record it.
Approver ≠ proposer is enforced in the database on the disposition row, exactly as it is on a disbursement, not
by disabling a button in the client. Needs more information is the single-signature outcome precisely
because it leaves the gate closed. A coordinator never self-clears.2 · Backend gap — the data model does not exist yet.
QiExchangeParticipant in packages/web-app/src/services/api/admin.ts carries
id, userId, role, firstName, lastName,
email — and nothing else. There is no per-participant identity status, no screening status, no last
or next rescreen, no match record. profiles.kyc_status
(none · pending_review · verified · rejected, per migration
20260727140000_profiles_kyc_status.sql) plus is_identity_verified and
is_kyc_complete is the entire truth today, and it lives on profiles — so a counterparty
who is not a platform user has no row at all. This surface needs
screening_subjects / screening_runs / screening_matches /
screening_dispositions before it can be honest. Today the console has only the org-wide
KycSection.tsx with hardcoded items and no per-file view.3 · Subjects are people and entities, not rows on a file. Screening is scoped to the subject; the exchange view is a projection. One disposition against one list entry releases every gate that subject is holding, across every exchange. Model it that way or the same alert gets disposed of three times with three different rationales.
4 · No console role may assert identity.
kyc_status → verified is written only by
the provider webhook path through the Vectr KYC workflow. Mark identity verified ships permanently
disabled with its reason on hover, for coordinator, QI administrator and platform administrator alike — visible so
the rule is legible, not hidden so it is merely absent.5 · Staleness is a state, not a footnote — and a failed run degrades, never persists. A run that errors must move the subject to overdue. It must not leave the previous clear result standing, and an overdue subject must never render in a satisfied colour. Two of the three holds on this file are staleness rather than hits, which is the ordinary case: the exposure is identical and the signal is quieter.
6 · A true match is a workflow, not a status change. Confirmation freezes every disbursement on the file including already-approved ones, raises a blocking report task with its own clock, and records a SAR determination — filed, or considered and documented as not filed. Both outcomes are written. Tipping-off suppression turns on the moment the option is selected, and the subject is never told a screening review is under way.
7 · The gate holds money and filing; it does not hold the clock. The 45- and 180-day dates are statutory and do not move because a screening hold is open. They are adjusted only through an approved four-eyes override carrying a legal basis, and the surface says so rather than letting a coordinator infer that the deadline is somehow paused.
8 · The audit is append-only and duplicated. Every run, list-edition load, failed run, disposition, second review and document-image view is one immutable row, forwarded to the Vectr audit log as it is written so the two can be reconciled. No role edits or deletes a row.
9 · Provenance pills mark what is not built. Adverse media is not connected, the engine does not expose per-component score contributions, the provider's document images and liveness artefacts are not surfaced in the console, and the SDN entry shown here is synthetic and not a real OFAC record. A list the platform cannot search renders as not connected, never as a clear result.
10 · Regulatory copy is cite-checked before it ships. Report windows, retention periods and determination language on this surface are placeholders written to be reviewed by compliance counsel, not authority in themselves. The product states obligations; it never gives legal or tax advice.
Light and dark are both designed.
Synthetic data — renders in every context
All parties, entities, amounts, references and document numbers on this surface are synthetic demo
data. SDN 44182 is not a real OFAC record, and the sanctions match adjudicated here
is fabricated for design review — no real person, organisation or list record is depicted. A fabricated
screening hit against a named individual never renders without this disclosure, in the demo shell or out of it.