Last updated: 14 June 2026
At CaddieChat, we take the security of your personal and golf data seriously. This page explains the safeguards we have in place to protect your information and how we keep your data safe.
In transit: All data transmitted between your browser or mobile app and our servers is encrypted using TLS 1.2+ (HTTPS). This prevents anyone from intercepting your information.
At rest: Sensitive data such as passwords are hashed using bcrypt with a cost factor of 12, making them computationally infeasible to reverse. NZ Golf credentials are encrypted using AES-256-GCM with authenticated encryption, ensuring both confidentiality and integrity.
Secrets management: API keys, encryption keys, and other secrets are stored as environment variables on secured infrastructure — never in source code or client-side bundles.
We use industry-standard JWT-based authentication via NextAuth.js with session tokens that expire automatically. All authenticated routes are protected by middleware that verifies your identity before granting access.
Multi-provider SSO: Sign in securely via Google, Apple, or email/password. OAuth tokens from third-party providers are never stored — only your verified email and account identifier are retained.
Password security: We enforce minimum password length requirements and use bcrypt (12 rounds) for hashing. Passwords are never stored in plain text, logged, or exposed in API responses.
All sensitive endpoints are protected by rate limiting to prevent brute-force attacks and abuse:
Rate-limited responses include a Retry-After header so your browser knows when to retry.
All user input is sanitised on the server side before processing. This includes:
We maintain comprehensive audit logs for over 30 types of security-relevant events, including:
Each log entry captures a timestamp, action type, anonymised IP address, user agent, and success/failure status to help identify and respond to suspicious activity.
Our application enforces the following HTTP security headers on all responses:
Payment security: All payment processing is handled by Stripe, a PCI-DSS Level 1 compliant payment processor. We never store, process, or transmit credit card numbers — Stripe handles this entirely. Webhook events from Stripe are verified using cryptographic signatures before processing.
We believe you should have full control over your data:
For more details about how we collect, use, and protect your data, see our Privacy Policy.
If you discover a security vulnerability in CaddieChat, please report it responsibly by emailing us at [email protected]. We take all reports seriously and will respond within 48 hours. Please do not publicly disclose vulnerabilities until we have had an opportunity to address them.
Questions about our security practices? Contact us
We use essential cookies to keep the app running. We'd also like to use analytics and advertising cookies to improve your experience. You choose what you're comfortable with.