Redirects, origins and consent
Configure post-submit navigation, allowed domains and recorded consent safely.
Success redirect
A form can have a configured success redirect URL. After a successful accepted submission, the integration may redirect to that destination, depending on its client flow.
Use an HTTPS URL you control for a thank-you page. Test the behavior of your chosen stack; fetch-based clients control their own navigation.
Example client-side handling after your form data has already been validated. A fetch request does not automatically navigate to redirectUrl from a JSON response. This example uses test mode; remove ?test=true for production.
const response = await fetch('https://pantherhook.com/f/YOUR_PUBLIC_FORM_KEY?test=true', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email: 'lead@example.com' }),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();
if (result.redirectUrl) window.location.assign(result.redirectUrl);Allowed origins
Allowed-origin settings accept hostnames. A configured list restricts public browser submissions by origin; an empty list does not impose an origin allow-list.
Origin checks are not authentication. Keep private API credentials server-side and enable spam protection and request rate limits separately.
Consent and privacy
Request explicit consent where legally required. Submissions can carry a bounded consent evidence snapshot that the platform may preserve in the lead and permitted delivery payloads.
Ensure your form explains its data use, retention and destinations, and verify your own privacy obligations for advertising feedback.
When consent recording is enabled in Form settings, send only the reserved _consent choice field. Panther Hook records the configured legal text, version, and capture time on the server; do not send an invented browser-side consent-evidence object.
<form action="https://pantherhook.com/f/YOUR_PUBLIC_FORM_KEY" method="POST">
<label>Email <input name="email" type="email" required /></label>
<label>
<input type="checkbox" name="_consent" value="on" required />
I agree to be contacted about this request.
</label>
<button type="submit">Send</button>
</form>