# `generated`: the username looks machine-made or a placeholder

A hex string, a UUID, a base64-looking run, one or two letters before four digits, a word before six digits, or a placeholder word such as test or asdf.

- Weight: +20
- Dataset: local-part-analysis
- Read from: `looks_generated`
- Verdict reasons it comes with: none — a score-only signal

The rules are fixed and published on the field: hex of sixteen or more characters, a dashed UUID, twenty or more mixed-case alphanumerics with a digit, one or two letters plus four or more digits, any word plus six or more digits, or a placeholder word (test, tester, testing, temp, fake, asdf, qwerty, abc, sample, example, foo, foobar, null, none, noname, dummy, placeholder) with optional trailing digits. mia1987 and krzysztof are not generated.

It reads from looks_generated, comes with no verdict reason, and is independent of gibberish.

**What to do.** At signup, read it as a bot signal beside widely_seen; on a list, it is the row a person never typed.

```json
{
    "email": "ab123456@acme.com",
    "deliverable": "deliverable",
    "looks_generated": true,
    "local_part_pattern": "mixed",
    "risk_signals": [
        {
            "signal": "generated",
            "weight": 20,
            "dataset": "local-part-analysis"
        }
    ]
}
```

Reference: https://spaw.co/docs/signals/generated
