Asset library/Form protection
iD30 workspace

ASSET LIBRARY / FORM PROTECTION

Form protection

A quiet layer of spam protection. No puzzles, no bulky CAPTCHA box.

Protection that fits your form

Let’s talk about your project.

A real verification flow, in a simple example form.

Demo only. The example fields stay in your browser. Nothing is saved or emailed.

How it works

Start typing. Verification begins.

The browser solves a small challenge when the form receives focus. Visitors can also start it using the verification row.

The server checks the proof

Signed proofs are tied to the website and form, expire after three minutes and can be used only once.

Your form continues

The website accepts the enquiry only after verification succeeds. Keep the existing honeypot and rate limits.

44px rowInherits your fontLight & dark

Set up each website before enabling

Each site needs an administrator-provisioned server-only key and approved domains. The Site Generator includes integration guidance. Verify the full browser flow and mobile experience before client rollout.

Use the compact widget

Place the widget inside your form, beside or just above the submit button. Replace YOUR_SITE_ID with your registered site ID. This changes presentation only: your server must still verify every proof.

<script type="module" src="https://forms.assets.id30.com/v1/widget.js"></script>

<altcha-widget
  class="id30-form-protection"
  language="en-id30"
  auto="onfocus"
  configuration='{"hideFooter":true,"hideLogo":true}'
  challenge="https://forms.assets.id30.com/v1/challenge?site=YOUR_SITE_ID&amp;form=enquiry">
</altcha-widget>

Set --id30-protection-color, --id30-protection-accent and --id30-protection-success on the widget to match your form. Use auto="off" for click-to-verify instead.

The widget and verification backend are hosted by iD30. No vendor account is required. Proof-of-work raises the cost of automated spam; it is not proof of humanity or DDoS protection.

Keep secrets on the website’s server. Check proofs before processing uploads, storing enquiries or sending emails. Preserve entered fields on errors and ask for a fresh verification.