Scrub fixture-body PII and harden cancellation gate (sec review)

/sh-security-review of PR #105 (5 fresh-context detectors + proof-or-kill
verifier) confirmed two diff-introduced findings; both fixed here.

F3 (medium, real PII in new fixtures): the harvest scrub replaced header
tokens but left real third-party PII in message BODIES -- an Amazon
contact's name/phone/personal email in non-coupa-02.eml and an internal
t.corp.amazon.com ticket URL in comment-02.eml, plus real submitter/attn
names recurring across the new_po corpus. Replaced every personal name,
phone, personal email, and internal URL with synthetic placeholders
(QP-soft-wrap aware) across both .eml bodies and expected goldens.
Extended test_fixture_hygiene to scan BODIES (phone shapes, corp URLs,
the leaked tokens), closing the header-only gap that let this through.

F1 (medium, cancellation gate): _CANCELLATION_SUBJECT was unanchored and
matched with .search(), unlike the anchored new_po pattern -- a subject
merely ending with the cancellation phrase could be routed to the sticky-
Cancelled write. Fully anchored it and switched to .match, and added a
body-corroboration gate (the real Coupa body independently restates
'Purchase Order #<po> ... has been cancelled'); a near-miss/misrouted
subject whose body does not corroborate now fails closed to the LLM
(new reason code cancellation_body_unconfirmed).

Pre-existing (advisory, not this PR): the LLM-fallback else->save_new_po
dispatch and undelimited extraction prompt (issue #101 family) are
byte-identical to main and unchanged here.

401 tests pass; ruff/format clean; cdk synth po-ingest clean.
This commit is contained in:
Adam Moussa 2026-07-16 17:17:35 -04:00
parent 76a19b0ff3
commit ffa8a625a7
No known key found for this signature in database
64 changed files with 16186 additions and 16104 deletions

View file

@ -131,8 +131,15 @@ NEW_PO_SAFE_STATUSES = {"Issued - Created", "Issued - Scheduled for email"}
_NEW_PO_SUBJECT = re.compile( _NEW_PO_SUBJECT = re.compile(
r"^\*\*\*Copy for Reference\*\*\* New Purchase Order\s+(?P<po>\S+)\s+has been issued$" r"^\*\*\*Copy for Reference\*\*\* New Purchase Order\s+(?P<po>\S+)\s+has been issued$"
) )
# Fully anchored, symmetric with _NEW_PO_SUBJECT: the whole subject must be
# "<SiteName> Purchase Order #<PO#> has been cancelled" -- the SiteName prefix
# is bounded (no '#', no newline, <=80 chars) so a subject that merely *ends*
# with the cancellation phrase (e.g. a forwarded/quoted thread, or arbitrary
# prefix text before the tail) is NOT misclassified as a cancellation and
# routed to the sticky-Cancelled write. Matched with .match (see
# classify_template), never .search.
_CANCELLATION_SUBJECT = re.compile( _CANCELLATION_SUBJECT = re.compile(
r"Purchase Order\s+#(?P<po>[A-Z0-9-]+)\s+has been cancelled\s*$" r"^(?P<site>[^#\n]{0,80}?)Purchase Order\s+#(?P<po>[A-Z0-9-]+)\s+has been cancelled\s*$"
) )
# PO number shape, e.g. 2D-21456967, FK-21920384, B187-17955555. # PO number shape, e.g. 2D-21456967, FK-21920384, B187-17955555.
@ -345,7 +352,7 @@ def classify_template(email_data):
subject = _clean(email_data.get("subject")) or "" subject = _clean(email_data.get("subject")) or ""
if _NEW_PO_SUBJECT.match(subject): if _NEW_PO_SUBJECT.match(subject):
return "coupa_new_po", "ok" return "coupa_new_po", "ok"
if _CANCELLATION_SUBJECT.search(subject): if _CANCELLATION_SUBJECT.match(subject):
return "coupa_cancellation", "ok" return "coupa_cancellation", "ok"
return "unknown", "subject_no_match" return "unknown", "subject_no_match"
@ -356,7 +363,7 @@ def _subject_po_id(email_data):
m = _NEW_PO_SUBJECT.match(subject) m = _NEW_PO_SUBJECT.match(subject)
if m: if m:
return m.group("po") return m.group("po")
m = _CANCELLATION_SUBJECT.search(subject) m = _CANCELLATION_SUBJECT.match(subject)
if m: if m:
return m.group("po") return m.group("po")
return None return None
@ -614,8 +621,18 @@ def validate(candidate, template_id, email_data):
return False, "po_id_mismatch" return False, "po_id_mismatch"
if template_id == "coupa_cancellation": if template_id == "coupa_cancellation":
# Cancellation is complete once po_number is proven; save_cancellation # Body corroboration: the subject SiteName prefix is free text, so the
# sets status=Cancelled by po_number and needs nothing else. # anchored subject alone cannot distinguish a genuine Coupa cancellation
# from an arbitrary "<prefix> Purchase Order #<po> has been cancelled"
# subject. The real Coupa body independently restates the id in a
# "Purchase Order #<po> ... has been cancelled" notice; require that
# (with the SAME po_number) before marking a PO sticky-Cancelled, so a
# misrouted/near-miss email fails closed to the LLM instead. (SEC review
# of PR #105, F1.)
body = email_data.get("body") or ""
restated = re.search(r"Purchase Order\s+#" + re.escape(str(po)) + r"\b", body)
if not restated or "cancelled" not in body.lower():
return False, "cancellation_body_unconfirmed"
return True, "ok" return True, "ok"
# ---- coupa_new_po ---- # ---- coupa_new_po ----

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -283,14 +283,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -478,7 +478,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor NY 12553-4744 New Windsor NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

File diff suppressed because it is too large Load diff

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -159,7 +159,7 @@ Amazon.com Services LLC (DYO1)
500 Hudson Valley 500 Hudson Valley
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -283,14 +283,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -478,7 +478,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -157,7 +157,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -281,14 +281,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -476,7 +476,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -285,14 +285,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -480,7 +480,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Vendor Vendor
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
ACME INDUSTRIAL CO:CORPORATE AP:SERVICES(OK6HE) ACME INDUSTRIAL CO:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

View file

@ -86,10 +86,10 @@ This is to inform you Purchase Order 2D-12503765 from Amazon has been issued,=
cess to the Coupa Supplier Portal. cess to the Coupa Supplier Portal.
Submitted By Submitted By
Priya Raghavan Robin Sampleton
On Behalf Of On Behalf Of
Priya Raghavan Robin Sampleton
Supplier Supplier
SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE) SEA HAVEN INDUSTRIES:CORPORATE AP:SERVICES(OK6HE)
@ -160,7 +160,7 @@ Amazon.com Services LLC (DYO1)
New Windsor, NY 12553-4744 New Windsor, NY 12553-4744
United States United States
Location Code: 207735629 Location Code: 207735629
Attn: Priya Raghavan Attn: Robin Sampleton
Lines Lines
@ -284,14 +284,14 @@ rs with access to the Coupa Supplier Portal.</p>
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td> white-space: nowrap;" valign=3D"top" width=3D"100">Submitted By</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; = ; padding-right: 3px; padding-bottom: 4px; text-align: left; width: 100px; =
white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td> white-space: nowrap;" valign=3D"top" width=3D"100">On Behalf Of</td>
<td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding= <td style=3D"min-width: 100px; max-width: 190px; padding-left: 3px; padding=
-bottom: 4px;">Priya Raghavan</td> -bottom: 4px;">Robin Sampleton</td>
</tr> </tr>
<tr valign=3D"top"> <tr valign=3D"top">
<td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize= <td align=3D"left" style=3D"vertical-align: top; text-transform: capitalize=
@ -479,7 +479,7 @@ width: 70%; height: 1px; color: black; background-color: black; border-widt=
h: 0;" width=3D"70"> h: 0;" width=3D"70">
<span class=3D"address"> <span class=3D"address">
Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255= Amazon.com Services LLC (DYO1)<br>500 Hudson Valley<br>New Windsor, NY 1255=
3-4744<br>United States<br>Location Code: 207735629<br>Attn: Priya Raghavan 3-4744<br>United States<br>Location Code: 207735629<br>Attn: Robin Sampleton
</span> </span>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,213 +1,213 @@
Return-Path: <info@seahavenind.com> Return-Path: <info@seahavenind.com>
Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [203.0.113.25]) Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [203.0.113.25])
by inbound-smtp.us-east-1.amazonaws.com with SMTP id fixture0123456789fixture0123456789fixtur by inbound-smtp.us-east-1.amazonaws.com with SMTP id fixture0123456789fixture0123456789fixtur
for amazon_po@int.seahaven.com; for amazon_po@int.seahaven.com;
Wed, 17 Jun 2026 20:27:22 +0000 (UTC) Wed, 17 Jun 2026 20:27:22 +0000 (UTC)
Received-SPF: pass (spfCheck: domain of seahavenind.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=info@seahavenind.com; helo=mail-ej1-f48.google.com; Received-SPF: pass (spfCheck: domain of seahavenind.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=info@seahavenind.com; helo=mail-ej1-f48.google.com;
Authentication-Results: amazonses.com; Authentication-Results: amazonses.com;
spf=pass (spfCheck: domain of seahavenind.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=info@seahavenind.com; helo=mail-ej1-f48.google.com; spf=pass (spfCheck: domain of seahavenind.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=info@seahavenind.com; helo=mail-ej1-f48.google.com;
dkim=pass header.i=@seahavenind.com; dkim=pass header.i=@seahavenind.com;
dmarc=pass header.from=seahavenind.com; dmarc=pass header.from=seahavenind.com;
X-SES-RECEIPT: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789== X-SES-RECEIPT: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789==
X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=Scr/ubbedFixtu+r+ePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtur+ePlaceholderTokenValue0123456=; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1781728043; v=1; bh=Scr+ubbedFixturePlaceholderTokenVa/lue01234=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=Scr/ubbedFixtu+r+ePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtur+ePlaceholderTokenValue0123456=; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1781728043; v=1; bh=Scr+ubbedFixturePlaceholderTokenVa/lue01234=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT;
Received: by mail-ej1-f48.google.com with SMTP id fixture012345-6789fixture0123456789f.i Received: by mail-ej1-f48.google.com with SMTP id fixture012345-6789fixture0123456789f.i
for <amazon_po@int.seahaven.com>; Wed, 17 Jun 2026 13:27:22 -0700 (PDT) for <amazon_po@int.seahaven.com>; Wed, 17 Jun 2026 13:27:22 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1781728041; cv=none; ARC-Seal: i=1; a=rsa-sha256; t=1781728041; cv=none;
d=google.com; s=arc-20240605; d=google.com; s=arc-20240605;
b=ScrubbedFixturePlac+eholderTokenValue0123456789QqZzX/xJjKkWwYyVvSc b=ScrubbedFixturePlac+eholderTokenValue0123456789QqZzX/xJjKkWwYyVvSc
rubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbed rubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbed
FixturePlaceholderTokenValue0123456789QqZzX+xJjKkWwYyVvScrubbedFixtu FixturePlaceholderTokenValue0123456789QqZzX+xJjKkWwYyVvScrubbedFixtu
rePlaceholderTokenValue/012345+6789QqZzXxJjKkWwYyVvScrubbedFixt/ureP rePlaceholderTokenValue/012345+6789QqZzXxJjKkWwYyVvScrubbedFixt/ureP
l/aceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceh l/aceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceh
/+ol== /+ol==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
h=cc:to:subject:message-id:date:from:in-reply-to:references h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:dkim-signature; :mime-version:dkim-signature;
bh=Scr+ubbedFixturePlaceholderTokenVa/lue01234=; bh=Scr+ubbedFixturePlaceholderTokenVa/lue01234=;
fh=ScrubbedFixturePlaceholderTokenValue0123456=; fh=ScrubbedFixturePlaceholderTokenValue0123456=;
b=ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScru b=ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScru
bbedFixtur+ePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedF bbedFixtur+ePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedF
ixturePlacehol+derTokenValue0123456789QqZ+z/XxJjKkWwYyVvS+crubb/edFi ixturePlacehol+derTokenValue0123456789QqZ+z/XxJjKkWwYyVvS+crubb/edFi
xturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtureP xturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtureP
laceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceho laceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceho
lder==; lder==;
darn=int.seahaven.com darn=int.seahaven.com
ARC-Authentication-Results: i=1; mx.google.com; arc=none ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=seahavenind.com; s=google; t=1781728041; x=1782332841; darn=int.seahaven.com; d=seahavenind.com; s=google; t=1781728041; x=1782332841; darn=int.seahaven.com;
h=cc:to:subject:message-id:date:from:in-reply-to:references h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to; :mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=Scr+ubbedFixturePlaceholderTokenVa/lue01234=; bh=Scr+ubbedFixturePlaceholderTokenVa/lue01234=;
b=ScrubbedFixturePlaceholderT/okenValue0123456789QqZzXxJ+jKkWwYyVvSc b=ScrubbedFixturePlaceholderT/okenValue0123456789QqZzXxJ+jKkWwYyVvSc
ru+bbedFixturePl/aceholderToke/nValue0123456789QqZ+zXxJjKkWwYyVv/Scr ru+bbedFixturePl/aceholderToke/nValue0123456789QqZ+zXxJjKkWwYyVv/Scr
ubbedFixturePlace/holderTokenValue012= ubbedFixturePlace/holderTokenValue012=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20251104; t=1781728041; x=1782332841; d=1e100.net; s=20251104; t=1781728041; x=1782332841;
h=cc:to:subject:message-id:date:from:in-reply-to:references h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to; :message-id:reply-to;
bh=Scr+ubbedFixturePlaceholderTokenVa/lue01234=; bh=Scr+ubbedFixturePlaceholderTokenVa/lue01234=;
b=ScrubbedFi+xturePlaceholderTokenValue0123456789+QqZzXxJjKk/WwYyV+v b=ScrubbedFi+xturePlaceholderTokenValue0123456789+QqZzXxJjKk/WwYyV+v
ScrubbedFixturePlaceholderT/okenValue01234567+/89QqZzXxJjKkWwYyVvSc/ ScrubbedFixturePlaceholderT/okenValue01234567+/89QqZzXxJjKkWwYyVvSc/
ru+bbedFixturePlaceholderTokenValue0123456789Q/q+/Zz+XxJ/jKkWwYy+V/v ru+bbedFixturePlaceholderTokenValue0123456789Q/q+/Zz+XxJ/jKkWwYy+V/v
ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubb ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubb
edFixturePlaceholderTokenValue0123456789QqZ+zXxJjKkWwYyVvScrubbedFix edFixturePlaceholderTokenValue0123456789QqZ+zXxJjKkWwYyVvScrubbedFix
t+ur== t+ur==
X-Forwarded-Encrypted: i=1; ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceh=@int.seahaven.com X-Forwarded-Encrypted: i=1; ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceh=@int.seahaven.com
X-Gm-Message-State: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKk X-Gm-Message-State: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKk
ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu
ScrubbedFixturePlaceholderTokenValue012345678 ScrubbedFixturePlaceholderTokenValue012345678
X-Gm-Gg: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrub X-Gm-Gg: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrub
ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu
ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu
ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu
ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixtu
ScrubbedFixt= ScrubbedFixt=
X-Received: by 2002:a17:907:9617:b0:bed:7f50:c724 with SMTP id X-Received: by 2002:a17:907:9617:b0:bed:7f50:c724 with SMTP id
ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJj; Wed, 17 Jun 2026 ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJj; Wed, 17 Jun 2026
13:27:21 -0700 (PDT) 13:27:21 -0700 (PDT)
MIME-Version: 1.0 MIME-Version: 1.0
References: <user238@DS5PR18MB927692.namprd18.prod.outlook.com> References: <user238@DS5PR18MB927692.namprd18.prod.outlook.com>
In-Reply-To: <user238@DS5PR18MB927692.namprd18.prod.outlook.com> In-Reply-To: <user238@DS5PR18MB927692.namprd18.prod.outlook.com>
From: Sea Haven Main <info@seahavenind.com> From: Sea Haven Main <info@seahavenind.com>
Date: Wed, 17 Jun 2026 16:27:09 -0400 Date: Wed, 17 Jun 2026 16:27:09 -0400
X-Gm-Features: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvS X-Gm-Features: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvS
Message-ID: <abcdef0123456789abcdef0123456789ab_cdef0123456789+a@mail.gmail.com> Message-ID: <abcdef0123456789abcdef0123456789ab_cdef0123456789+a@mail.gmail.com>
Subject: =?UTF-8?Q?Re=3A_DJZ5_=2D_Request_for_Service_Completion_=E2=80=93_PO_=232D?= Subject: =?UTF-8?Q?Re=3A_DJZ5_=2D_Request_for_Service_Completion_=E2=80=93_PO_=232D?=
=?UTF-8?Q?=2D14783046?= =?UTF-8?Q?=2D14783046?=
To: "Castellan, Sam [C]" <user239@amazon.com> To: "Fixtonly, Pat [C]" <user239@amazon.com>
Cc: "adam@seahavenind.com" <adam@seahavenind.com>, Cc: "adam@seahavenind.com" <adam@seahavenind.com>,
"amazon_po@int.seahaven.com" <amazon_po@int.seahaven.com>, "O'Donohue, Joe [C]" <user650@amazon.com>, "amazon_po@int.seahaven.com" <amazon_po@int.seahaven.com>, "O'Donohue, Joe [C]" <user650@amazon.com>,
"Hastrup, Richard" <user172@amazon.com> "Hastrup, Richard" <user172@amazon.com>
Content-Type: multipart/alternative; boundary="000000000000f8b7a4065478e2c5" Content-Type: multipart/alternative; boundary="000000000000f8b7a4065478e2c5"
--000000000000f8b7a4065478e2c5 --000000000000f8b7a4065478e2c5
Content-Type: text/plain; charset="UTF-8" Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable Content-Transfer-Encoding: quoted-printable
Good Afternoon Sam- Good Afternoon Pat-
Thank you for your email. Thank you for your email.
This request was completed back in December of 2025. This request was completed back in December of 2025.
I will have our team review this tomorrow, but since it's been six months, I will have our team review this tomorrow, but since it's been six months,
I would imagine the area looks like it was never done specifically due to I would imagine the area looks like it was never done specifically due to
the high traffic this site gets. the high traffic this site gets.
Daniel Daniel
On Wed, Jun 17, 2026 at 4:23=E2=80=AFPM Castellan, Sam [C] <user239@amazon.= On Wed, Jun 17, 2026 at 4:23=E2=80=AFPM Fixtonly, Pat [C] <user239@amazon.=
com> com>
wrote: wrote:
> Hello Seahaven Team, > Hello Seahaven Team,
> >
> >
> >
> We are reaching out from DJZ5 regarding PO #2D-19542097, which has alread= > We are reaching out from DJZ5 regarding PO #2D-19542097, which has alread=
y y
> been invoiced under invoice #2947938672. However, the associated work has > been invoiced under invoice #2947938672. However, the associated work has
> not yet been completed. > not yet been completed.
> >
> Could you please dispatch a technician to perform the outstanding work at > Could you please dispatch a technician to perform the outstanding work at
> your earliest convenience? > your earliest convenience?
> >
> Thank you, and please let us know if any additional information is needed= > Thank you, and please let us know if any additional information is needed=
. .
> >
> >
> >
> >
> >
> >
> >
> Sam Castellan > Pat Fixtonly
> >
> Regional Area Maintenance Manager > Regional Area Maintenance Manager
> >
> C&W Services | Amazon > C&W Services | Amazon
> >
> C: (326) 245-0632 > C: (000) 555-0100
> >
> E: *scastel@amazon.c <user239@amazon.com>om * > E: *user000@amazon.c <user239@amazon.com>om *
> >
> >
> >
--000000000000f8b7a4065478e2c5 --000000000000f8b7a4065478e2c5
Content-Type: text/html; charset="UTF-8" Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Good Afternoon Sam-<div><br>Thank you for your email.</div= <div dir=3D"ltr">Good Afternoon Pat-<div><br>Thank you for your email.</div=
><div><br></div><div>This request was completed=C2=A0back in December of 20= ><div><br></div><div>This request was completed=C2=A0back in December of 20=
25.=C2=A0=C2=A0</div><div><br></div><div>I will have our team review this t= 25.=C2=A0=C2=A0</div><div><br></div><div>I will have our team review this t=
omorrow, but since it&#39;s been six months, I would imagine the area looks= omorrow, but since it&#39;s been six months, I would imagine the area looks=
like it was never done specifically due to the high traffic this site gets= like it was never done specifically due to the high traffic this site gets=
.</div><div><br></div><div>Daniel</div><div><br></div></div><br><div class= .</div><div><br></div><div>Daniel</div><div><br></div></div><br><div class=
=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr= =3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr=
">On Wed, Jun 17, 2026 at 4:23=E2=80=AFPM Castellan, Sam [C] &lt;<a href=3D= ">On Wed, Jun 17, 2026 at 4:23=E2=80=AFPM Fixtonly, Pat [C] &lt;<a href=3D=
"mailto:user239@amazon.com">user239@amazon.com</a>&gt; wrote:<br></div><blo= "mailto:user239@amazon.com">user239@amazon.com</a>&gt; wrote:<br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left= ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex"><div class=3D"msg639702525558= :1px solid rgb(204,204,204);padding-left:1ex"><div class=3D"msg639702525558=
0110033"> 0110033">
<div lang=3D"EN-US" style=3D"overflow-wrap: break-word;"> <div lang=3D"EN-US" style=3D"overflow-wrap: break-word;">
<div class=3D"m_6397025255580110033WordSection1"> <div class=3D"m_6397025255580110033WordSection1">
<p class=3D"MsoNormal">Hello Seahaven Team, <u></u><u></u></p> <p class=3D"MsoNormal">Hello Seahaven Team, <u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"m_6397025255580110033isselectedend">We are reaching out from DJ= <p class=3D"m_6397025255580110033isselectedend">We are reaching out from DJ=
Z5 regarding PO #2D-19542097, which has already been invoiced under invoice= Z5 regarding PO #2D-19542097, which has already been invoiced under invoice=
#2947938672. However, the associated work has not yet been completed.<u></= #2947938672. However, the associated work has not yet been completed.<u></=
u><u></u></p> u><u></u></p>
<p class=3D"m_6397025255580110033isselectedend">Could you please dispatch a= <p class=3D"m_6397025255580110033isselectedend">Could you please dispatch a=
technician to perform the outstanding work at your earliest convenience?<u= technician to perform the outstanding work at your earliest convenience?<u=
></u><u></u></p> ></u><u></u></p>
<p>Thank you, and please let us know if any additional information is neede= <p>Thank you, and please let us know if any additional information is neede=
d.<u></u><u></u></p> d.<u></u><u></u></p>
<p><u></u>=C2=A0<u></u></p> <p><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:= <p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:=
10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7= 10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7=
3,125);border:1pt windowtext;padding:0in">Sam Castellan</span><span style= 3,125);border:1pt windowtext;padding:0in">Pat Fixtonly</span><span style=
=3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,sans-serif;color:rgb(= =3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,sans-serif;color:rgb(=
36,36,36)"><u></u><u></u></span></p> 36,36,36)"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:= <p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:=
10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7= 10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7=
3,125);border:1pt windowtext;padding:0in">Regional Area Maintenance Manager= 3,125);border:1pt windowtext;padding:0in">Regional Area Maintenance Manager=
</span><span style=3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,san= </span><span style=3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,san=
s-serif;color:rgb(36,36,36)"><u></u><u></u></span></p> s-serif;color:rgb(36,36,36)"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:= <p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:=
10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7= 10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7=
3,125);border:1pt windowtext;padding:0in">C&amp;W Services=C2=A0|=C2=A0Amaz= 3,125);border:1pt windowtext;padding:0in">C&amp;W Services=C2=A0|=C2=A0Amaz=
on</span><span style=3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,s= on</span><span style=3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,s=
ans-serif;color:rgb(36,36,36)"><u></u><u></u></span></p> ans-serif;color:rgb(36,36,36)"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:= <p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:=
10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7= 10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7=
3,125);border:1pt windowtext;padding:0in">C: (326) 245-0632</span><span sty= 3,125);border:1pt windowtext;padding:0in">C: (000) 555-0100</span><span sty=
le=3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,sans-serif;color:rg= le=3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,sans-serif;color:rg=
b(36,36,36)"><u></u><u></u></span></p> b(36,36,36)"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:= <p class=3D"MsoNormal" style=3D"background:white"><span style=3D"font-size:=
10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7= 10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(31,7=
3,125);border:1pt windowtext;padding:0in">E:</span><span style=3D"font-size= 3,125);border:1pt windowtext;padding:0in">E:</span><span style=3D"font-size=
:10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(68,= :10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color:rgb(68,=
84,106);border:1pt windowtext;padding:0in">=C2=A0</span><u><span style=3D"f= 84,106);border:1pt windowtext;padding:0in">=C2=A0</span><u><span style=3D"f=
ont-size:10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color= ont-size:10pt;font-family:&quot;Amazon Ember Display&quot;,sans-serif;color=
:rgb(5,99,193);border:1pt windowtext;padding:0in"><a href=3D"mailto:user239= :rgb(5,99,193);border:1pt windowtext;padding:0in"><a href=3D"mailto:user239=
@amazon.com" title=3D"mailto:user239@amazon.com" target=3D"_blank"><span st= @amazon.com" title=3D"mailto:user239@amazon.com" target=3D"_blank"><span st=
yle=3D"color:blue">scastel@amazon.c</span></a>om=C2=A0</span></u><span styl= yle=3D"color:blue">user000@amazon.c</span></a>om=C2=A0</span></u><span styl=
e=3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,sans-serif;color:rgb= e=3D"font-size:11.5pt;font-family:&quot;Segoe UI&quot;,sans-serif;color:rgb=
(36,36,36)"><u></u><u></u></span></p> (36,36,36)"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div> </div>
</div> </div>
</div></blockquote></div> </div></blockquote></div>
--000000000000f8b7a4065478e2c5-- --000000000000f8b7a4065478e2c5--

View file

@ -1,221 +1,221 @@
Return-Path: <0101abcdef012345-abcdef01-2345-6789-abcd-ef0123456789-6789ab@corpmail.amazon.com> Return-Path: <0101abcdef012345-abcdef01-2345-6789-abcd-ef0123456789-6789ab@corpmail.amazon.com>
Received: from a87-201.smtp-out.us-west-2.amazonses.com (a87-201.smtp-out.us-west-2.amazonses.com [203.0.113.25]) Received: from a87-201.smtp-out.us-west-2.amazonses.com (a87-201.smtp-out.us-west-2.amazonses.com [203.0.113.25])
by inbound-smtp.us-east-1.amazonaws.com with SMTP id fixture0123456789fixture0123456789fixtur by inbound-smtp.us-east-1.amazonaws.com with SMTP id fixture0123456789fixture0123456789fixtur
for amazon_po@int.seahaven.com; for amazon_po@int.seahaven.com;
Mon, 11 May 2026 11:17:26 +0000 (UTC) Mon, 11 May 2026 11:17:26 +0000 (UTC)
Received-SPF: pass (spfCheck: domain of corpmail.amazon.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=0101abcdef012345-abcdef01-2345-6789-abcd-ef0123456789-6789ab@corpmail.amazon.com; helo=a87-201.smtp-out.us-west-2.amazonses.com; Received-SPF: pass (spfCheck: domain of corpmail.amazon.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=0101abcdef012345-abcdef01-2345-6789-abcd-ef0123456789-6789ab@corpmail.amazon.com; helo=a87-201.smtp-out.us-west-2.amazonses.com;
Authentication-Results: amazonses.com; Authentication-Results: amazonses.com;
spf=pass (spfCheck: domain of corpmail.amazon.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=0101abcdef012345-abcdef01-2345-6789-abcd-ef0123456789-6789ab@corpmail.amazon.com; helo=a87-201.smtp-out.us-west-2.amazonses.com; spf=pass (spfCheck: domain of corpmail.amazon.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=0101abcdef012345-abcdef01-2345-6789-abcd-ef0123456789-6789ab@corpmail.amazon.com; helo=a87-201.smtp-out.us-west-2.amazonses.com;
dkim=pass header.i=@amazon.com; dkim=pass header.i=@amazon.com;
dkim=pass header.i=@amazonses.com; dkim=pass header.i=@amazonses.com;
dmarc=pass header.from=amazon.com; dmarc=pass header.from=amazon.com;
X-SES-RECEIPT: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenVal== X-SES-RECEIPT: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenVal==
X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=ScrubbedFixturePlaceholderTo+kenValue01234+56789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue/0123456/789QqZzXxJjKkWwYyVvScrubbed/Fixt+urePl+aceholderTokenValue0123=; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1778498246; v=1; bh=Scr/ub/bedFixturePl/aceholderToke/nValue012=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=ScrubbedFixturePlaceholderTo+kenValue01234+56789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue/0123456/789QqZzXxJjKkWwYyVvScrubbed/Fixt+urePl+aceholderTokenValue0123=; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1778498246; v=1; bh=Scr/ub/bedFixturePl/aceholderToke/nValue012=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT;
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple;
s=fp22v4ed7aly6ls6xiqgsijz4v7vy4iw; d=amazon.com; t=1778498245; s=fp22v4ed7aly6ls6xiqgsijz4v7vy4iw; d=amazon.com; t=1778498245;
h=Cc:Content-Type:Date:From:In-Reply-To:Message-Id:Mime-Version:References:Subject:To; h=Cc:Content-Type:Date:From:In-Reply-To:Message-Id:Mime-Version:References:Subject:To;
bh=Scr/ub/bedFixturePl/aceholderToke/nValue012=; bh=Scr/ub/bedFixturePl/aceholderToke/nValue012=;
b=ScrubbedFixturePlaceholderTokenValue0123456789QqZ+zXxJjKkWwYyVvS b=ScrubbedFixturePlaceholderTokenValue0123456789QqZ+zXxJjKkWwYyVvS
crubbedFixturePlaceholderTokenVal/ue0123456789QqZzXxJjKkWwYyVv/Scru crubbedFixturePlaceholderTokenVal/ue0123456789QqZzXxJjKkWwYyVv/Scru
bbedFixturePla+ceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbed bbedFixturePla+ceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbed
FixturePlaceholderTokenValu+e0/123456789QqZzXxJjKkWwYyVvScrubbedFix FixturePlaceholderTokenValu+e0/123456789QqZzXxJjKkWwYyVvScrubbedFix
turePlaceholder/TokenValue012/3456789QqZzXxJjKkWwYyVvScrubbedFixtur turePlaceholder/TokenValue012/3456789QqZzXxJjKkWwYyVvScrubbedFixtur
ePlacehold== ePlacehold==
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple;
s=hsbnp7p3ensaochzwyq5wwmceodymuwv; d=amazonses.com; t=1778498245; s=hsbnp7p3ensaochzwyq5wwmceodymuwv; d=amazonses.com; t=1778498245;
h=Cc:Content-Type:Date:From:In-Reply-To:Message-Id:Mime-Version:References:Subject:To:Feedback-ID; h=Cc:Content-Type:Date:From:In-Reply-To:Message-Id:Mime-Version:References:Subject:To:Feedback-ID;
bh=Scr/ub/bedFixturePl/aceholderToke/nValue012=; bh=Scr/ub/bedFixturePl/aceholderToke/nValue012=;
b=ScrubbedFixturePlaceholderTokenValue01234567+89QqZzXxJjKkWwYyVvS b=ScrubbedFixturePlaceholderTokenValue01234567+89QqZzXxJjKkWwYyVvS
crubbedFixturePlaceho+lderTokenVa/lue0/1/23456789/QqZzXxJjKkWwYyVvS crubbedFixturePlaceho+lderTokenVa/lue0/1/23456789/QqZzXxJjKkWwYyVvS
crubbedFixturePlaceholderTokenValue01234= crubbedFixturePlaceholderTokenValue01234=
Accept-Language: en-US Accept-Language: en-US
Arc-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amazon.com; dmarc=pass action=none header.from=amazon.com; dkim=pass header.d=amazon.com; arc=none Arc-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amazon.com; dmarc=pass action=none header.from=amazon.com; dkim=pass header.d=amazon.com; arc=none
Arc-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ScrubbedFixturePlaceholderTokenValue0123456=; b=ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScr/ubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTok+enValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderToke== Arc-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ScrubbedFixturePlaceholderTokenValue0123456=; b=ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScr/ubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTok+enValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderToke==
Arc-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ScrubbedFixturePlaceholderTokenValue0+123456789QqZzXxJjKkWwYyVvS+crubbedFixturePlaceholderToke+n/Value0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderT+oken+Value0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbed/FixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbe/dFi+xturePlaceh/o== Arc-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ScrubbedFixturePlaceholderTokenValue0+123456789QqZzXxJjKkWwYyVvS+crubbedFixturePlaceholderToke+n/Value0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderT+oken+Value0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbed/FixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbe/dFi+xturePlaceh/o==
Authentication-Results: amazonses.com; spf=pass (spfCheck: domain of amazon.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=prvs=58402a35e=user158@amazon.com; helo=iad-out-005.esa.us-east-1.outbound.mail-perimeter.amazon.com; dmarc=pass header.from=amazon.com; Authentication-Results: amazonses.com; spf=pass (spfCheck: domain of amazon.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=prvs=58402a35e=user158@amazon.com; helo=iad-out-005.esa.us-east-1.outbound.mail-perimeter.amazon.com; dmarc=pass header.from=amazon.com;
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amazon.com; Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amazon.com;
Cc: "Reed, Andrew" <user835@amazon.com> Cc: "Reed, Andrew" <user835@amazon.com>
Content-Language: en-US Content-Language: en-US
Content-Type: multipart/related; boundary="_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_"; type="multipart/alternative" Content-Type: multipart/related; boundary="_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_"; type="multipart/alternative"
Date: Mon, 11 May 2026 11:17:25 +0000 Date: Mon, 11 May 2026 11:17:25 +0000
From: "Bellwood, Max" <user158@amazon.com> From: "Fixtwood, Max" <user158@amazon.com>
In-Reply-To: <user906@SA3PR18MB5650.namprd18.prod.outlook.com> In-Reply-To: <user906@SA3PR18MB5650.namprd18.prod.outlook.com>
Message-ID: <abcdef0123456789-abcdef01-2345-6789-abcd-ef0123456789-abcdef@us-west-2.amazonses.com> Message-ID: <abcdef0123456789-abcdef01-2345-6789-abcd-ef0123456789-abcdef@us-west-2.amazonses.com>
Mime-Version: 1.0 Mime-Version: 1.0
Received-Spf: pass (spfCheck: domain of amazon.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=prvs=58402a35e=user158@amazon.com; helo=iad-out-005.esa.us-east-1.outbound.mail-perimeter.amazon.com; Received-Spf: pass (spfCheck: domain of amazon.com designates 203.0.113.25 as permitted sender) client-ip=203.0.113.25; envelope-from=prvs=58402a35e=user158@amazon.com; helo=iad-out-005.esa.us-east-1.outbound.mail-perimeter.amazon.com;
References: <user338@SA3PR18MB5650.namprd18.prod.outlook.com> <user906@SA3PR18MB5650.namprd18.prod.outlook.com> <user250@SA3PR18MB5650.namprd18.prod.outlook.com> References: <user338@SA3PR18MB5650.namprd18.prod.outlook.com> <user906@SA3PR18MB5650.namprd18.prod.outlook.com> <user250@SA3PR18MB5650.namprd18.prod.outlook.com>
Subject: Work Order - Compliance 50096816666 AMER-GENERIC TANK/TANKLESS WATER HEATER ANNUAL PM Subject: Work Order - Compliance 50096816666 AMER-GENERIC TANK/TANKLESS WATER HEATER ANNUAL PM
Thread-Index: AdzWM41xh4BXmKDcTAGLdSfXX989OgAwVHWAApC2kHA= Thread-Index: AdzWM41xh4BXmKDcTAGLdSfXX989OgAwVHWAApC2kHA=
Thread-Topic: Work Order - Compliance 50096816666 AMER-GENERIC TANK/TANKLESS WATER HEATER ANNUAL PM Thread-Topic: Work Order - Compliance 50096816666 AMER-GENERIC TANK/TANKLESS WATER HEATER ANNUAL PM
To: "adam@seahavenind.com" <adam@seahavenind.com>, To: "adam@seahavenind.com" <adam@seahavenind.com>,
"info@seahavenind.com" <info@seahavenind.com>, "info@seahavenind.com" <info@seahavenind.com>,
"amazon_po@int.seahaven.com" <amazon_po@int.seahaven.com>, "amazon_po@int.seahaven.com" <amazon_po@int.seahaven.com>,
Work Orders <work-orders@seahavenind.com> Work Orders <work-orders@seahavenind.com>
X-Amazon-Filename: image001.png, image002.png X-Amazon-Filename: image001.png, image002.png
X-Cse-Connectionguid: ScrubbedFixturePlaceho== X-Cse-Connectionguid: ScrubbedFixturePlaceho==
X-Cse-Msgguid: ScrubbedFixturePlaceho== X-Cse-Msgguid: ScrubbedFixturePlaceho==
X-Exchange-Routingpolicychecked: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenV== X-Exchange-Routingpolicychecked: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenV==
X-Farcaster-Flow-Id: abcdef01-2345-6789-abcd-ef0123456789 X-Farcaster-Flow-Id: abcdef01-2345-6789-abcd-ef0123456789
X-Forefront-Antispam-Report: CIP:203.0.113.25;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA3PR18MB5650.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(6049299003)(1800799024)(22082099003)(56012099003)(8096899003)(18002099003)(11063799002)(4053099003)(38070700021);DIR:OUT;SFP:1101; X-Forefront-Antispam-Report: CIP:203.0.113.25;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA3PR18MB5650.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(6049299003)(1800799024)(22082099003)(56012099003)(8096899003)(18002099003)(11063799002)(4053099003)(38070700021);DIR:OUT;SFP:1101;
X-Ironport-Av: E=Sophos;i="6.23,228,1770595200"; d="png'150?scan'150,208,217,150";a="18357435" X-Ironport-Av: E=Sophos;i="6.23,228,1770595200"; d="png'150?scan'150,208,217,150";a="18357435"
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|6049299003|1800799024|22082099003|56012099003|8096899003|18002099003|11063799002|4053099003|38070700021; X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|6049299003|1800799024|22082099003|56012099003|8096899003|18002099003|11063799002|4053099003|38070700021;
X-Ms-Exchange-Antispam-Messagedata-Chunkcount: 1 X-Ms-Exchange-Antispam-Messagedata-Chunkcount: 1
X-Ms-Exchange-Antispam-Relay: 0 X-Ms-Exchange-Antispam-Relay: 0
X-Ms-Exchange-Crosstenant-Authas: Internal X-Ms-Exchange-Crosstenant-Authas: Internal
X-Ms-Exchange-Crosstenant-Authsource: SA3PR18MB5650.namprd18.prod.outlook.com X-Ms-Exchange-Crosstenant-Authsource: SA3PR18MB5650.namprd18.prod.outlook.com
X-Ms-Exchange-Crosstenant-Fromentityheader: Hosted X-Ms-Exchange-Crosstenant-Fromentityheader: Hosted
X-Ms-Exchange-Crosstenant-Id: abcdef01-2345-6789-abcd-ef0123456789 X-Ms-Exchange-Crosstenant-Id: abcdef01-2345-6789-abcd-ef0123456789
X-Ms-Exchange-Crosstenant-Mailboxtype: HOSTED X-Ms-Exchange-Crosstenant-Mailboxtype: HOSTED
X-Ms-Exchange-Crosstenant-Network-Message-Id: abcdef01-2345-6789-abcd-ef0123456789 X-Ms-Exchange-Crosstenant-Network-Message-Id: abcdef01-2345-6789-abcd-ef0123456789
X-Ms-Exchange-Crosstenant-Originalarrivaltime: 11 May 2026 11:17:18.6371 (UTC) X-Ms-Exchange-Crosstenant-Originalarrivaltime: 11 May 2026 11:17:18.6371 (UTC)
X-Ms-Exchange-Crosstenant-Userprincipalname: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlacehold== X-Ms-Exchange-Crosstenant-Userprincipalname: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlacehold==
X-Ms-Exchange-Senderadcheck: 1 X-Ms-Exchange-Senderadcheck: 1
X-Ms-Exchange-Transport-Crosstenantheadersstamped: DM8PR18MB4518 X-Ms-Exchange-Transport-Crosstenantheadersstamped: DM8PR18MB4518
X-Ms-Has-Attach: yes X-Ms-Has-Attach: yes
X-Ms-Office365-Filtering-Correlation-Id: abcdef01-2345-6789-abcd-ef0123456789 X-Ms-Office365-Filtering-Correlation-Id: abcdef01-2345-6789-abcd-ef0123456789
X-Ms-Publictraffictype: Email X-Ms-Publictraffictype: Email
X-Ms-Tnef-Correlator: X-Ms-Tnef-Correlator:
X-Ms-Traffictypediagnostic: SA3PR18MB5650:EE_|DM8PR18MB4518:EE_ X-Ms-Traffictypediagnostic: SA3PR18MB5650:EE_|DM8PR18MB4518:EE_
X-Originatororg: amazon.com X-Originatororg: amazon.com
X-Sa-Code-Protection: enable X-Sa-Code-Protection: enable
X-Ses-Dkim-Signature: a=rsa-sha256; q=dns/txt; b=ScrubbedFixturePlaceholderTokenValue01234/56/789QqZz/XxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue01234567=; c=relaxed/simple; s=hsbnp7p3ensaochzwyq5wwmceodymuwv; d=amazonses.com; t=1778498244; v=1; bh=Scr+ubbedFixturePlaceholderTokenValue012345=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; X-Ses-Dkim-Signature: a=rsa-sha256; q=dns/txt; b=ScrubbedFixturePlaceholderTokenValue01234/56/789QqZz/XxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue01234567=; c=relaxed/simple; s=hsbnp7p3ensaochzwyq5wwmceodymuwv; d=amazonses.com; t=1778498244; v=1; bh=Scr+ubbedFixturePlaceholderTokenValue012345=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT;
X-Ses-Receipt: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFi X-Ses-Receipt: ScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFixturePlaceholderTokenValue0123456789QqZzXxJjKkWwYyVvScrubbedFi
Feedback-ID: ::1.us-west-2.ScrubbedFixturePlaceholderTokenValue0123456=:AmazonSES Feedback-ID: ::1.us-west-2.ScrubbedFixturePlaceholderTokenValue0123456=:AmazonSES
X-SES-Outgoing: 2026.05.11-203.0.113.25 X-SES-Outgoing: 2026.05.11-203.0.113.25
--_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_ --_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_
Content-Type: multipart/alternative; boundary="_000_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_" Content-Type: multipart/alternative; boundary="_000_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_"
--_000_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_ --_000_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_
Content-Transfer-Encoding: quoted-printable Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="us-ascii" Content-Type: text/plain; charset="us-ascii"
Hello, Hello,
We have the following WO that is assigned to your group for AMER-GENERIC TA= We have the following WO that is assigned to your group for AMER-GENERIC TA=
NK/TANKLESS WATER HEATER ANNUAL PM. When can we expect someone to come on = NK/TANKLESS WATER HEATER ANNUAL PM. When can we expect someone to come on =
site to perform the PMs? site to perform the PMs?
[cid:image001.png@01DCE116.32728B90] [cid:image001.png@01DCE116.32728B90]
Thanks, Thanks,
Max Bellwood Max Fixtwood
Facilities Coordinator SDF9 Facilities Coordinator SDF9
user158@amazon.com<mailto:user158@amazon.com> user158@amazon.com<mailto:user158@amazon.com>
[cid:image002.png@01DCE116.32728B90] [cid:image002.png@01DCE116.32728B90]
--_000_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_ --_000_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_
Content-Transfer-Encoding: quoted-printable Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="us-ascii" Content-Type: text/html; charset="us-ascii"
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:= xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"> //www.w3.org/TR/REC-html40">
<head> <head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"= <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
> >
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)"> <meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);} <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}
</style><![endif]--><style><!-- </style><![endif]--><style><!--
/* Font Definitions */ /* Font Definitions */
@font-face @font-face
{font-family:"Cambria Math"; {font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;} panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face @font-face
{font-family:Calibri; {font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;} panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face @font-face
{font-family:Aptos;} {font-family:Aptos;}
/* Style Definitions */ /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in; {margin:0in;
font-size:12.0pt; font-size:12.0pt;
font-family:"Calibri",sans-serif; font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;} mso-ligatures:standardcontextual;}
a:link, span.MsoHyperlink a:link, span.MsoHyperlink
{mso-style-priority:99; {mso-style-priority:99;
color:#0563C1; color:#0563C1;
text-decoration:underline;} text-decoration:underline;}
span.EmailStyle19 span.EmailStyle19
{mso-style-type:personal-reply; {mso-style-type:personal-reply;
font-family:"Calibri",sans-serif; font-family:"Calibri",sans-serif;
color:windowtext;} color:windowtext;}
.MsoChpDefault .MsoChpDefault
{mso-style-type:export-only; {mso-style-type:export-only;
font-size:10.0pt; font-size:10.0pt;
mso-ligatures:none;} mso-ligatures:none;}
@page WordSection1 @page WordSection1
{size:8.5in 11.0in; {size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;} margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1 div.WordSection1
{page:WordSection1;} {page:WordSection1;}
--></style><!--[if gte mso 9]><xml> --></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit"> <o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" /> <o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--> </o:shapelayout></xml><![endif]-->
</head> </head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:= <body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word"> break-word">
<div class=3D"WordSection1"> <div class=3D"WordSection1">
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p> <p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p> <p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p> <p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p> <p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Hello,<o:p></o:p></p> <p class=3D"MsoNormal">Hello,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p> <p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">We have the following WO that is assigned to your gr= <p class=3D"MsoNormal">We have the following WO that is assigned to your gr=
oup for AMER-GENERIC TANK/TANKLESS WATER HEATER ANNUAL PM.&nbsp; When can w= oup for AMER-GENERIC TANK/TANKLESS WATER HEATER ANNUAL PM.&nbsp; When can w=
e expect someone to come on site to perform the PMs?<o:p></o:p></p> e expect someone to come on site to perform the PMs?<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p> <p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none"><img width=3D"106= <p class=3D"MsoNormal"><span style=3D"mso-ligatures:none"><img width=3D"106=
1" height=3D"52" style=3D"width:11.052in;height:.5416in" id=3D"_x0000_i1026= 1" height=3D"52" style=3D"width:11.052in;height:.5416in" id=3D"_x0000_i1026=
" src=3D"cid:image001.png@01DCE116.32728B90"></span><o:p></o:p></p> " src=3D"cid:image001.png@01DCE116.32728B90"></span><o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p> <p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks,<o:p></o:p></p> <p class=3D"MsoNormal">Thanks,<o:p></o:p></p>
<p class=3D"MsoNormal"><b><i><span style=3D"font-size:14.0pt;color:#0066CC"= <p class=3D"MsoNormal"><b><i><span style=3D"font-size:14.0pt;color:#0066CC"=
>Max Bellwood<o:p></o:p></span></i></b></p> >Max Fixtwood<o:p></o:p></span></i></b></p>
<p class=3D"MsoNormal">Facilities Coordinator SDF9<span style=3D"font-size:= <p class=3D"MsoNormal">Facilities Coordinator SDF9<span style=3D"font-size:=
11.0pt"><o:p></o:p></span></p> 11.0pt"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><a href=3D"mailto:user158@amazon.com">user158@amazon= <p class=3D"MsoNormal"><a href=3D"mailto:user158@amazon.com">user158@amazon=
.com</a><o:p></o:p></p> .com</a><o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"mso-ligatures:none"><img border=3D"0"= <p class=3D"MsoNormal"><span style=3D"mso-ligatures:none"><img border=3D"0"=
width=3D"94" height=3D"25" style=3D"width:.9791in;height:.2604in" id=3D"Pi= width=3D"94" height=3D"25" style=3D"width:.9791in;height:.2604in" id=3D"Pi=
cture_x0020_1" src=3D"cid:image002.png@01DCE116.32728B90"></span><o:p></o:p= cture_x0020_1" src=3D"cid:image002.png@01DCE116.32728B90"></span><o:p></o:p=
></p> ></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p> <p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div> </div>
</body> </body>
</html> </html>
--_000_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_-- --_000_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_--
--_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_ --_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_
Content-Description: image001.png Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=8758; creation-date="Mon, 11 May 2026 11:17:18 GMT"; modification-date="Mon, 11 May 2026 11:17:18 GMT" Content-Disposition: inline; filename="image001.png"; size=8758; creation-date="Mon, 11 May 2026 11:17:18 GMT"; modification-date="Mon, 11 May 2026 11:17:18 GMT"
Content-Id: <image001.png@01DCE116.32728B90> Content-Id: <image001.png@01DCE116.32728B90>
Content-Transfer-Encoding: base64 Content-Transfer-Encoding: base64
Content-Type: image/png; name="image001.png" Content-Type: image/png; name="image001.png"
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6 iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6
kgAAAABJRU5ErkJggg== kgAAAABJRU5ErkJggg==
--_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_ --_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_
Content-Description: image002.png Content-Description: image002.png
Content-Disposition: inline; filename="image002.png"; size=5762; creation-date="Mon, 11 May 2026 11:17:18 GMT"; modification-date="Mon, 11 May 2026 11:17:18 GMT" Content-Disposition: inline; filename="image002.png"; size=5762; creation-date="Mon, 11 May 2026 11:17:18 GMT"; modification-date="Mon, 11 May 2026 11:17:18 GMT"
Content-Id: <image002.png@01DCE116.32728B90> Content-Id: <image002.png@01DCE116.32728B90>
Content-Transfer-Encoding: base64 Content-Transfer-Encoding: base64
Content-Type: image/png; name="image002.png" Content-Type: image/png; name="image002.png"
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6 iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6
kgAAAABJRU5ErkJggg== kgAAAABJRU5ErkJggg==
--_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_-- --_005_SA3PR18MB5650CD69CB4F3448A25E4309C6382SA3PR18MB5650namp_--

View file

@ -3,8 +3,8 @@
"po_number": "2D-12503765", "po_number": "2D-12503765",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Priya Raghavan", "submitted_by": "Robin Sampleton",
"on_behalf_of": "Priya Raghavan", "on_behalf_of": "Robin Sampleton",
"order_date": "05/12/26", "order_date": "05/12/26",
"revision_date": "05/12/26", "revision_date": "05/12/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "NY", "state": "NY",
"zip": "12553-4744", "zip": "12553-4744",
"location_code": "207735629", "location_code": "207735629",
"attn": "Priya Raghavan" "attn": "Robin Sampleton"
}, },
"total_amount": 55206.0, "total_amount": 55206.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-16899815", "po_number": "2D-16899815",
"po_status": "Issued - Scheduled for email", "po_status": "Issued - Scheduled for email",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Tamara Ellison", "submitted_by": "Riley Samplison",
"on_behalf_of": "Tamara Ellison", "on_behalf_of": "Riley Samplison",
"order_date": "06/16/26", "order_date": "06/16/26",
"revision_date": "06/16/26", "revision_date": "06/16/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "RI", "state": "RI",
"zip": "02919", "zip": "02919",
"location_code": "115434418", "location_code": "115434418",
"attn": "Tamara Ellison" "attn": "Riley Samplison"
}, },
"total_amount": 5163.0, "total_amount": 5163.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-19081183", "po_number": "2D-19081183",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Colin Marsh", "submitted_by": "Alex Fixtly",
"on_behalf_of": "Colin Marsh", "on_behalf_of": "Alex Fixtly",
"order_date": "04/22/26", "order_date": "04/22/26",
"revision_date": "04/22/26", "revision_date": "04/22/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "MA", "state": "MA",
"zip": "01569", "zip": "01569",
"location_code": "947104437", "location_code": "947104437",
"attn": "Colin Marsh" "attn": "Alex Fixtly"
}, },
"total_amount": 1270.0, "total_amount": 1270.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-61746565", "po_number": "2D-61746565",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Marcus Bellwood", "submitted_by": "Avery Mockwood",
"on_behalf_of": "Marcus Bellwood", "on_behalf_of": "Avery Mockwood",
"order_date": "06/04/26", "order_date": "06/04/26",
"revision_date": "06/04/26", "revision_date": "06/04/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "CA", "state": "CA",
"zip": "92324", "zip": "92324",
"location_code": "244472611", "location_code": "244472611",
"attn": "Marcus Bellwood" "attn": "Avery Mockwood"
}, },
"total_amount": 1542.0, "total_amount": 1542.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-46259643", "po_number": "2D-46259643",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Colin Marsh", "submitted_by": "Alex Fixtly",
"on_behalf_of": "Colin Marsh", "on_behalf_of": "Alex Fixtly",
"order_date": "05/19/26", "order_date": "05/19/26",
"revision_date": "05/19/26", "revision_date": "05/19/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "MA", "state": "MA",
"zip": "02149", "zip": "02149",
"location_code": "423891758", "location_code": "423891758",
"attn": "Colin Marsh" "attn": "Alex Fixtly"
}, },
"total_amount": 5237.0, "total_amount": 5237.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-14747241", "po_number": "2D-14747241",
"po_status": "Issued - Scheduled for email", "po_status": "Issued - Scheduled for email",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Omar Castellanos", "submitted_by": "Skyler Testanos",
"on_behalf_of": "Omar Castellanos", "on_behalf_of": "Skyler Testanos",
"order_date": "06/28/26", "order_date": "06/28/26",
"revision_date": "06/28/26", "revision_date": "06/28/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "AK", "state": "AK",
"zip": "99709-4755", "zip": "99709-4755",
"location_code": "966602300", "location_code": "966602300",
"attn": "Omar Castellanos" "attn": "Skyler Testanos"
}, },
"total_amount": 1241.0, "total_amount": 1241.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-65755709", "po_number": "2D-65755709",
"po_status": "Issued - Scheduled for email", "po_status": "Issued - Scheduled for email",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Hector Zamora", "submitted_by": "Jordan Placer",
"on_behalf_of": "Hector Zamora", "on_behalf_of": "Jordan Placer",
"order_date": "06/18/26", "order_date": "06/18/26",
"revision_date": "06/18/26", "revision_date": "06/18/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "OK", "state": "OK",
"zip": "74501-3329", "zip": "74501-3329",
"location_code": "950698987", "location_code": "950698987",
"attn": "Hector Zamora" "attn": "Jordan Placer"
}, },
"total_amount": 7653.0, "total_amount": 7653.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-29641169", "po_number": "2D-29641169",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Victor Lindgren", "submitted_by": "Taylor Stubbsen",
"on_behalf_of": "Victor Lindgren", "on_behalf_of": "Taylor Stubbsen",
"order_date": "05/16/26", "order_date": "05/16/26",
"revision_date": "05/16/26", "revision_date": "05/16/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "IL", "state": "IL",
"zip": "61554-7831", "zip": "61554-7831",
"location_code": "923574006", "location_code": "923574006",
"attn": "Victor Lindgren" "attn": "Taylor Stubbsen"
}, },
"total_amount": 2299.0, "total_amount": 2299.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "FK-54796376", "po_number": "FK-54796376",
"po_status": "Issued - Scheduled for email", "po_status": "Issued - Scheduled for email",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Ingrid Fossum", "submitted_by": "Casey Mockler",
"on_behalf_of": "Ingrid Fossum", "on_behalf_of": "Casey Mockler",
"order_date": "06/22/26", "order_date": "06/22/26",
"revision_date": "06/22/26", "revision_date": "06/22/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "CA", "state": "CA",
"zip": "94005", "zip": "94005",
"location_code": "843684581", "location_code": "843684581",
"attn": "Ingrid Fossum" "attn": "Casey Mockler"
}, },
"total_amount": 8846.9, "total_amount": 8846.9,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "FK-36562759", "po_number": "FK-36562759",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Renee Okafor", "submitted_by": "Quinn Fixtor",
"on_behalf_of": "Renee Okafor", "on_behalf_of": "Quinn Fixtor",
"order_date": "06/01/26", "order_date": "06/01/26",
"revision_date": "06/01/26", "revision_date": "06/01/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "CA", "state": "CA",
"zip": "90065", "zip": "90065",
"location_code": "16462771", "location_code": "16462771",
"attn": "Renee Okafor" "attn": "Quinn Fixtor"
}, },
"total_amount": 2760.0, "total_amount": 2760.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-78768854", "po_number": "2D-78768854",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Colin Marsh", "submitted_by": "Alex Fixtly",
"on_behalf_of": "Colin Marsh", "on_behalf_of": "Alex Fixtly",
"order_date": "05/05/26", "order_date": "05/05/26",
"revision_date": "05/05/26", "revision_date": "05/05/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "ME", "state": "ME",
"zip": "04736-3887", "zip": "04736-3887",
"location_code": "188152232", "location_code": "188152232",
"attn": "Colin Marsh" "attn": "Alex Fixtly"
}, },
"total_amount": 283.0, "total_amount": 283.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-61199344", "po_number": "2D-61199344",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Hector Zamora", "submitted_by": "Jordan Placer",
"on_behalf_of": "Hector Zamora", "on_behalf_of": "Jordan Placer",
"order_date": "05/01/26", "order_date": "05/01/26",
"revision_date": "05/01/26", "revision_date": "05/01/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "ND", "state": "ND",
"zip": "58701", "zip": "58701",
"location_code": "701517830", "location_code": "701517830",
"attn": "Hector Zamora" "attn": "Jordan Placer"
}, },
"total_amount": 8145.0, "total_amount": 8145.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-41262802", "po_number": "2D-41262802",
"po_status": "Issued - Scheduled for email", "po_status": "Issued - Scheduled for email",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Dana Whitfield", "submitted_by": "Morgan Testfield",
"on_behalf_of": "Dana Whitfield", "on_behalf_of": "Morgan Testfield",
"order_date": "07/10/26", "order_date": "07/10/26",
"revision_date": "07/10/26", "revision_date": "07/10/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "WI", "state": "WI",
"zip": "54476", "zip": "54476",
"location_code": "335960161", "location_code": "335960161",
"attn": "Dana Whitfield" "attn": "Morgan Testfield"
}, },
"total_amount": 5765.76, "total_amount": 5765.76,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-35742540", "po_number": "2D-35742540",
"po_status": "Issued - Scheduled for email", "po_status": "Issued - Scheduled for email",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Ingrid Fossum", "submitted_by": "Casey Mockler",
"on_behalf_of": "Ingrid Fossum", "on_behalf_of": "Casey Mockler",
"order_date": "06/13/26", "order_date": "06/13/26",
"revision_date": "06/13/26", "revision_date": "06/13/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "IL", "state": "IL",
"zip": "62305", "zip": "62305",
"location_code": "658431516", "location_code": "658431516",
"attn": "Ingrid Fossum" "attn": "Casey Mockler"
}, },
"total_amount": 3520.0, "total_amount": 3520.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-95847852", "po_number": "2D-95847852",
"po_status": "Issued - Scheduled for email", "po_status": "Issued - Scheduled for email",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Dana Whitfield", "submitted_by": "Morgan Testfield",
"on_behalf_of": "Dana Whitfield", "on_behalf_of": "Morgan Testfield",
"order_date": "07/02/26", "order_date": "07/02/26",
"revision_date": "07/02/26", "revision_date": "07/02/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "KY", "state": "KY",
"zip": "40741", "zip": "40741",
"location_code": "113248912", "location_code": "113248912",
"attn": "Dana Whitfield" "attn": "Morgan Testfield"
}, },
"total_amount": 1643.0, "total_amount": 1643.0,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-75027869", "po_number": "2D-75027869",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Hector Zamora", "submitted_by": "Jordan Placer",
"on_behalf_of": "Hector Zamora", "on_behalf_of": "Jordan Placer",
"order_date": "04/16/26", "order_date": "04/16/26",
"revision_date": "04/16/26", "revision_date": "04/16/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "PA", "state": "PA",
"zip": "17552", "zip": "17552",
"location_code": "591685096", "location_code": "591685096",
"attn": "Hector Zamora" "attn": "Jordan Placer"
}, },
"total_amount": 2883.61, "total_amount": 2883.61,
"currency": "USD", "currency": "USD",

View file

@ -3,8 +3,8 @@
"po_number": "2D-45085104", "po_number": "2D-45085104",
"po_status": "Issued - Created", "po_status": "Issued - Created",
"source_system": "coupa", "source_system": "coupa",
"submitted_by": "Victor Lindgren", "submitted_by": "Taylor Stubbsen",
"on_behalf_of": "Victor Lindgren", "on_behalf_of": "Taylor Stubbsen",
"order_date": "04/21/26", "order_date": "04/21/26",
"revision_date": "04/21/26", "revision_date": "04/21/26",
"last_opened": null, "last_opened": null,
@ -25,7 +25,7 @@
"state": "IN", "state": "IN",
"zip": "46143", "zip": "46143",
"location_code": "561142752", "location_code": "561142752",
"attn": "Victor Lindgren" "attn": "Taylor Stubbsen"
}, },
"total_amount": 1357.0, "total_amount": 1357.0,
"currency": "USD", "currency": "USD",

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -336,6 +336,22 @@ def _assert_token_headers_scrubbed(raw, where):
assert b"ScrubbedFixture" in m.group("tok"), (where, m.group("tok")[:60]) assert b"ScrubbedFixture" in m.group("tok"), (where, m.group("tok")[:60])
# Body-level PII classes the header-only scan missed (SEC review of PR #105:
# a real signature block -- name/phone/personal email -- and an internal
# ticket URL survived in fixture *bodies* because only headers were checked).
# The one legitimate phone shape is the reserved-for-fiction placeholder.
_PHONE_RE = re.compile(rb"\(?\d{3}\)?[ .\-]\d{3}[ .\-]\d{4}")
_PLACEHOLDER_PHONE_RE = re.compile(rb"^\(000\) 555-01\d\d$")
def _assert_body_pii_scrubbed(raw, where):
for phone in _PHONE_RE.findall(raw):
assert _PLACEHOLDER_PHONE_RE.match(phone), (where, "real-looking phone", phone)
# Internal Amazon ticketing URL and the specific leaked signature tokens.
for token in (b"corp.amazon.com", b"scastel", b"Castellan"):
assert token not in raw, (where, "unscrubbed body token", token)
def test_fixture_hygiene_ses_auth_and_scrub_markers(): def test_fixture_hygiene_ses_auth_and_scrub_markers():
"""Every committed Coupa .eml must pass the fail-closed sender-auth gate """Every committed Coupa .eml must pass the fail-closed sender-auth gate
(dkim=pass for amazon.coupahost.com) exactly like production mail, and (dkim=pass for amazon.coupahost.com) exactly like production mail, and
@ -368,6 +384,7 @@ def test_fixture_hygiene_ses_auth_and_scrub_markers():
# SES receipt tokens with same-shape placeholders. # SES receipt tokens with same-shape placeholders.
assert b"ScrubbedFixture" in raw, (subdir, stem) assert b"ScrubbedFixture" in raw, (subdir, stem)
_assert_token_headers_scrubbed(raw, (subdir, stem)) _assert_token_headers_scrubbed(raw, (subdir, stem))
_assert_body_pii_scrubbed(raw, (subdir, stem))
# Non-Coupa fixtures must NOT authenticate (they are rejected before the # Non-Coupa fixtures must NOT authenticate (they are rejected before the
# parser in production; committed here for parser-level fallback coverage). # parser in production; committed here for parser-level fallback coverage).
for stem in [s for s in AI_FALLBACK_STEMS if s.startswith("non-coupa")]: for stem in [s for s in AI_FALLBACK_STEMS if s.startswith("non-coupa")]:
@ -380,3 +397,4 @@ def test_fixture_hygiene_ses_auth_and_scrub_markers():
# (Exchange UPN ciphertext, Gmail ARC fh= / X-Gm-* tokens, a second # (Exchange UPN ciphertext, Gmail ARC fh= / X-Gm-* tokens, a second
# X-Ses-Receipt): those token classes must be scrubbed too. # X-Ses-Receipt): those token classes must be scrubbed too.
_assert_token_headers_scrubbed(raw, ("ai-fallback", stem)) _assert_token_headers_scrubbed(raw, ("ai-fallback", stem))
_assert_body_pii_scrubbed(raw, ("ai-fallback", stem))

View file

@ -269,3 +269,56 @@ def test_contract_keys_match_extraction_prompt():
) )
assert flattened.issubset(prompt_keys) assert flattened.issubset(prompt_keys)
assert len(template_parser.CONTRACT_KEYS) == 23 assert len(template_parser.CONTRACT_KEYS) == 23
@pytest.mark.parametrize(
"subject",
[
# Trailing text / newline after the cancellation tail (attacker-appended
# trailer, forwarded/quoted thread) -- rejected at classification now
# that the subject is fully anchored (SEC review of PR #105, F1).
"FYI Purchase Order #2D-99999999 has been cancelled -- thanks",
"Fwd: Amazon Purchase Order #2D-99999999 has been cancelled\nsee below",
"New Comment referencing Purchase Order #2D-99999999 has been cancelled earlier",
],
)
def test_trailing_injected_cancellation_subject_is_not_classified(subject):
template_id, reason = template_parser.classify_template({"subject": subject})
assert template_id == "unknown", (subject, template_id)
assert reason == "subject_no_match"
def test_prefix_cancellation_subject_fails_body_corroboration():
"""A '<arbitrary prefix> Purchase Order #<po> has been cancelled' subject is
structurally identical to the real '<SiteName> ...' template, so it still
classifies -- but with a body that does NOT independently restate the id in
the Coupa cancellation notice, the gate fails closed to the LLM instead of
marking the PO sticky-Cancelled (SEC review of PR #105, F1)."""
email_data = {
"subject": "Reminder: please review -- Purchase Order #2D-99999999 has been cancelled",
"body": "Reminder: please review the attached. Thanks.",
}
template_id, _ = template_parser.classify_template(email_data)
assert template_id == "coupa_cancellation"
candidate = template_parser.extract_cancellation(email_data)
ok, reason = template_parser.validate(candidate, template_id, email_data)
assert not ok
assert reason == "cancellation_body_unconfirmed"
def test_real_cancellation_subject_and_body_still_pass():
"""The genuine '<SiteName> Purchase Order #<PO#> has been cancelled' shape
with the corroborating Coupa body must still validate after the F1 fix."""
email_data = {
"subject": "Prime Now LLC Purchase Order #2D-18206023 has been cancelled",
"body": (
"Powered by Coupa\n\nPrime Now LLC Purchase Order #2D-18206023 has been\n"
"cancelled\n\nPurchase Order #2D-18206023 from Prime Now LLC has been "
"cancelled. If you need additional information, please get in touch."
),
}
template_id, _ = template_parser.classify_template(email_data)
assert template_id == "coupa_cancellation"
candidate = template_parser.extract_cancellation(email_data)
ok, reason = template_parser.validate(candidate, template_id, email_data)
assert ok, reason