Spam Protection and Files

Public forms need to accept real customer submissions without turning into an open spam relay. RogerIQ uses layered defenses.

Protection Layers

LayerApplies toBehavior
Allowed originsPublic forms and beaconsRejects disallowed browser origins.
Rate limitAll public submissionsLimits submissions per IP and form.
HoneypotHTML, iframe, and JSON submitSilently succeeds if the hidden bot field is filled.
FingerprintIQAll public surfaces when configuredSoft-blocks confident bot signals.
TurnstileHosted RogerIQ form pagesRequired only for hosted top-level form pages.

Why Turnstile Is Hosted-Only

Turnstile is bound to RogerIQ-hosted form pages. Off-host embeds rely on honeypot, rate limit, and FingerprintIQ because third-party customer sites cannot generate a RogerIQ Turnstile token.

File Uploads

File fields are accepted through multipart form submissions. Files are validated and uploaded to R2 before the submission is finalized.

If any file is rejected, the endpoint returns:

json
{ "error": "File upload rejected", "issues": [ { "field": "attachment", "message": "File type not allowed" } ]}

Common Error Codes

StatusMeaning
400Invalid body, validation failed, spam protection failed, or file rejected.
403Origin not allowed.
404Form or beacon not found.
410Form or beacon archived.
429Rate limit exceeded.
Ask a question... ⌘I