Account security
Password hashing, authenticated sessions, email verification, CSRF protection and account-status checks help protect user access.
StatementRadar uses layered controls around accounts, uploads, AI processing, saved reports and Paddle billing. Security remains an ongoing process, not a one-time claim.
Different parts of the platform use different safeguards based on the sensitivity of the action.
Password hashing, authenticated sessions, email verification, CSRF protection and account-status checks help protect user access.
Paid files are subject to authentication, file-size limits, type checks and private storage paths outside ordinary public browsing.
Gemini API credentials are stored on the server and are not intentionally exposed in client-side JavaScript.
Prepared SQL statements, strict ownership checks and separate user identifiers reduce common injection and cross-account access risks.
Paddle processes complete card data. StatementRadar stores transaction references, subscription status and limited masked payment information.
Paid access is activated only after StatementRadar receives and verifies the relevant Paddle notification.
This table summarizes safeguards currently built into the platform architecture.
| Area | Current control | Purpose | Status |
|---|---|---|---|
| Transport | HTTPS on the production domain | Encrypt data in transit between the browser and website. | Core |
| Passwords | PHP password hashing and verification | Avoid storing readable user passwords. | Core |
| Sessions | HttpOnly, Secure where HTTPS is active, SameSite=Lax | Reduce common session theft and cross-site request risks. | Core |
| Forms | CSRF tokens on sensitive requests | Help prevent unauthorized cross-site form submissions. | Core |
| Database | PDO prepared statements and ownership filters | Reduce SQL injection and cross-user record exposure. | Core |
| Uploads | Allowed extensions, size limits and private storage paths | Limit unsupported or oversized financial documents. | Core |
| AI credentials | Server-side configuration | Prevent browser exposure of secret Gemini credentials. | Core |
| Payments | Paddle-hosted checkout and portal | Keep complete card handling outside StatementRadar. | Core |
| Payment activation | Paddle signature verification and webhook fulfillment | Prevent client-side checkout events from directly granting paid access. | Core |
| Access control | Login requirements and user ownership checks | Restrict saved analyses, billing and subscriptions to the correct account. | Core |
| Headers | X-Frame-Options, nosniff and referrer controls on sensitive pages | Reduce clickjacking and content-type interpretation risks. | Partial rollout |
Free spreadsheet analysis is designed to run locally in the browser. Paid analysis sends the file to the protected StatementRadar backend, which then sends relevant content to the configured Gemini service.
Generated reports are stored under the authenticated user account and are subject to plan-based retention. Payment-card processing remains with Paddle.
Compatible CSV and Excel files are intended to remain within the browser.
Authenticated server processing with plan limits, private storage and server-side AI credentials.
User-owned access checks and retention periods based on the selected plan.
Paddle-hosted checkout, masked method details and verified webhook updates.
Security researchers and users should report suspected vulnerabilities privately and avoid accessing, modifying, downloading or disclosing data that does not belong to them.
Email support@statementradar.com with the subject “Security Report.”
Provide the affected URL, reproduction steps, potential impact and screenshots with sensitive information removed.
Do not use denial-of-service techniques, social engineering, credential attacks or access another user’s financial documents.
Please do not publicly disclose a suspected issue before we have had a reasonable opportunity to investigate and correct it.
Platform safeguards are strongest when users also follow good security practices.
Do not reuse a password from banking, email or another important account.
Email access may be used for account verification and password-reset workflows.
Remove passwords, PINs, one-time codes and unrelated sensitive documents.
Compare important transactions, totals and categories with the source statement.
Use account controls to remove saved analyses that are no longer needed.
Contact support promptly if you notice unexpected account, billing or analysis activity.
Review the Privacy Policy or contact StatementRadar support with a security or data-handling question.