Payment Page Security Controls
Overview
Card data is entered directly into hosted fields or iframes provided by the campground's configured payment gateway (e.g. eWay, Square, Pin Payments, ANZ Worldline, OnlinePay). Camper BMS does not receive, transmit, or store cardholder data.
For a breakdown of which security responsibilities sit with Camper BMS, the campground, and the payment provider, see the PCI DSS Shared Responsibility Matrix.
Script Authorisation
Camper BMS deploys Content Security Policy (CSP) controls with per-request cryptographic nonces to authorise scripts and restrict third-party resources on payment pages.
Third-party script domains on payment pages are limited to the campground's configured payment gateway. No analytics, marketing, mapping, or other non-payment scripts load on payment pages:
Analytics scripts (Google Analytics, Meta Pixel), where configured by the campground, run only on booking funnel pages and never on card-capture pages.
Address autocomplete is performed server-side by Camper BMS; no Google Maps script loads in the browser.
No tag manager, session-replay, or support-widget scripts are present on any page of the booking flow.
Script Inventory
A documented inventory of all scripts that load on payment pages is maintained and reviewed quarterly. The inventory records each script's source, purpose, and authorisation method.
Tamper Detection and Alerting
CSP violation reports are collected when browsers detect policy violations or blocked resources on a payment page. Violations are stored and may generate administrator alerts to support investigation and review.
Violation records are retained for 36 months, after which they are automatically deleted by a scheduled data retention job.
The Content Security Policy is enforced by default, so browsers block any resource the policy does not allow. While a new payment provider integration or 3-D Secure authentication flow is being validated, the policy can be switched to report-only for a limited period, during which browsers report violations instead of blocking them. The embedded booking widget's frame-ancestors restriction stays enforced in report-only mode.
Transport Security
All payment pages are served exclusively over HTTPS with TLS. HTTP Strict Transport Security (HSTS) headers are set with a one-year max-age including subdomains.
Security Headers
The following headers are applied to production responses. Some headers differ between the administrative application and the embedded booking widget, because the widget is designed to be loaded inside a merchant-controlled iframe.
Header | Application Pages | Embedded Booking Widget |
|---|---|---|
Content-Security-Policy (Content-Security-Policy-Report-Only while report-only mode is on) | Nonce-based policy with domain allowlisting | Per-request nonce-based policy with domain allowlisting, plus a |
Strict-Transport-Security |
|
|
X-Content-Type-Options |
|
|
X-Frame-Options |
|
|
Referrer-Policy |
|
|
Permissions-Policy |
|
The payment window, which opens outside the campground's website, sets |
Cross-Origin-Opener-Policy |
| Not set - applied to application pages only so the widget can load inside a merchant-controlled iframe |
Cross-Origin-Resource-Policy |
| Not set - applied to application pages only so the widget can load inside a merchant-controlled iframe |
X-Permitted-Cross-Domain-Policies |
|
|
Reporting-Endpoints / Report-To | CSP violation endpoint configured | CSP violation endpoint configured |
Supported Payment Gateways
Gateway | Integration Method |
|---|---|
eWay | Hosted Secure Fields |
Square | Web Payments SDK (hosted fields) |
Pin Payments | Hosted Fields |
OnlinePay (Verifone: Westpac, St.George, BankSA, Bank of Melbourne) | Hosted checkout iframe |
ANZ Worldline | Hosted tokenisation iframe |
Related Documents
Related articles
Still need a hand?
Our support team is happy to help.
Contact support