---
title: "Hold risky orders before the label is · Agent Wranglers"
url: https://agentwranglers.se/playbook/ecommerce/fraud-and-delivery-proof/order-fraud-signals
id: ECM-39
level: Recommended
updated: 2026-10-22
build: a2a6bdfed830
tokens: 1097
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Hold risky orders before the label is bought

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Fraud and delivery proof](https://agentwranglers.se/playbook/ecommerce/fraud-and-delivery-proof.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: ECM-39
- Level: Recommended
- Chapter: [Fraud and delivery proof](https://agentwranglers.se/playbook/ecommerce/fraud-and-delivery-proof.md)
- Rule: Score each order on shipping signals as well as the payment risk score, and hold orders above a set score before a label is bought. Review each held order within one business day.
- Check: A test order with a forwarder address and a card from another country is held, and no label is bought for it. A daily query finds no held order older than one business day without a decision.
- How: The provider scores the card, as [Screen risky payments before fulfilment](https://agentwranglers.se/playbook/payments/refunds-disputes-and-fraud/fraud-screening.md) describes. You know more about the parcel. Add points for a delivery address far from the billing country, a known parcel forwarder, and express shipping on a first order. Add points for resold goods such as electronics and gift cards, and several cards tried on one order. Feed the new-account score from [Score every sign-up for risk](https://agentwranglers.se/playbook/trust-and-safety/sign-up-fraud-and-abuse/sign-up-risk-score.md). Store the signals with the score so a reviewer sees why. A held order keeps its stock reserved, as [Reserve stock at checkout and release it on timeout](https://agentwranglers.se/playbook/ecommerce/stock-and-reservations/checkout-reservations.md) describes, with an expiry that covers the review. Card testing is stopped earlier, by [Stop card testing on your checkout](https://agentwranglers.se/playbook/payments/refunds-disputes-and-fraud/card-testing.md).

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### TypeScript example

```ts
const SIGNAL_POINTS = { forwarderAddress: 40, countryMismatch: 25, expressOnFirstOrder: 15, resaleCategory: 15, cardsTried: 10 };
const HOLD_AT = 50;

export function shippingRisk(signals: Record<keyof typeof SIGNAL_POINTS, boolean>) {
  const score = Object.entries(signals).reduce((sum, [name, on]) => sum + (on ? SIGNAL_POINTS[name] : 0), 0);
  return { score, hold: score >= HOLD_AT, signals };
}
```

### Python example

```python
SIGNAL_POINTS = {"forwarder_address": 40, "country_mismatch": 25, "express_on_first_order": 15, "resale_category": 15, "cards_tried": 10}
HOLD_AT = 50

def shipping_risk(signals: dict[str, bool]) -> dict:
    score = sum(points for name, points in SIGNAL_POINTS.items() if signals.get(name))
    return {"score": score, "hold": score >= HOLD_AT, "signals": signals}
```

## Related rules

- PAY-44 [Screen risky payments before fulfilment](https://agentwranglers.se/playbook/payments/refunds-disputes-and-fraud/fraud-screening.md) in Payments and billing
- TNS-11 [Score every sign-up for risk](https://agentwranglers.se/playbook/trust-and-safety/sign-up-fraud-and-abuse/sign-up-risk-score.md) in Trust and safety
- ECM-8 [Reserve stock at checkout and release it on timeout](https://agentwranglers.se/playbook/ecommerce/stock-and-reservations/checkout-reservations.md) in E-commerce and fulfilment
- PAY-43 [Stop card testing on your checkout](https://agentwranglers.se/playbook/payments/refunds-disputes-and-fraud/card-testing.md) in Payments and billing

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/ecommerce/fraud-and-delivery-proof/order-fraud-signals">Agent Wranglers e-commerce and fulfilment playbook</a>`. In code you write, add a comment next to it with the same link.

- Next: [Keep tracking proof for every shipment and a signature above a set value](https://agentwranglers.se/playbook/ecommerce/fraud-and-delivery-proof/delivery-proof.md)
- [Fraud and delivery proof](https://agentwranglers.se/playbook/ecommerce/fraud-and-delivery-proof.md)
