Aliases and
throwaway domains
One inbox can produce dozens of addresses. Nolgard normalizes the address you send, checks the domain behind it and returns both with the signup verdict.
Decision trace
ExampleEmail intelligence
- Input signalsFive accounts on one custom domain in 24 hours, with a human verdict in enforcing mode.
- Reason ids
email_domain_burst - Decision
limit - Grant20 of 100 credits, with a 0.2 limited share.
How it works
Send the email
Include account.email with your server-side verification.
Normalize the inbox
Gmail dots and plus tags collapse. Known providers have provider-specific alias rules.
Check the domain
Disposable lists, mail routing, registration age and per-site bursts add reason ids.
API
Example request and response. Keep the secret on your backend.
POST https://nolgard.com/v1/verify
Content-Type: application/json
{
"secret": "SITE_SECRET",
"token": "BROWSER_TOKEN",
"account": {
"id": "user_123",
"email": "jane+trial@example.com"
}
}
// Example response fields
{
"email": { "domain": "example.com", "disposable": false },
"repeat": { "deviceAccounts": 1,
"networkAccounts": 1, "emailAliases": 2 },
"decision": "limit",
"grant": { "share": 0.2, "credits": 20, "requires": null }
}Limits
- Two distinct raw addresses for one normalized email trigger
email_alias. Alias removal follows the rules of each known provider, so it does not apply to every domain. - Custom-domain intelligence skips known freemail and disposable domains. New means registered less than 60 days ago; burst means at least five distinct accounts in 24 hours.
email_no_mxmeans the domain has no usable mail route, including MX or A/AAAA fallback. It is not an inbox-existence check.- Uncached DNS and RDAP lookups have a 1,500 ms budget. Unknown or failed facts add no reason. Complete results cache for seven days; incomplete results for one.
- Domain age and bursts are circumstantial. Observe mode lets you inspect the proposed decision before limiting credits.