Home
How it’s Work
FAQs
Help
Login
Become a Merchant
Security Checklist for QuickBooks Financial Data in MongoDB
1. Field-Level Encryption (Mandatory)
- Encrypt sensitive business metrics: revenue, profit, expenses, etc.
- Use AES-256 server-side encryption before saving to MongoDB.
- Store encryption keys securely using AWS KMS or HashiCorp Vault (never in code).
2. Restrict Database Access
- Host MongoDB inside a private VPC or internal subnet.
- Only allow backend (Node.js) to access the DB.
- Use IP whitelisting and enforce role-based DB access.
3. Secure Data in Transit
- Use TLS encryption between Node.js and MongoDB.
- Ensure all API traffic is HTTPS with TLS 1.2 or above.
- Enforce HSTS headers to force HTTPS.
4. Audit Logging & Access Tracking
- Track who accessed which QuickBooks data and when.
- Log admin/analyst access, downloads, and large queries.
- Store logs in AWS CloudWatch, ELK, or a SIEM system.
5. JWT & Role-Based Access Control (RBAC)
- Use short-lived JWTs (15-30 mins).
- Include roles/permissions in tokens (e.g., canViewReports, isAdmin).
- Validate roles on the backend before sending financial data.
6. Secure Backups
- Enable automated daily MongoDB backups.
- Encrypt backups with AES-256.
- Store backups offsite (S3 or Glacier) with read-only lock.
7. No Raw File Uploads
- Avoid accepting raw QuickBooks exports unless properly authenticated.
- Log and monitor any upload or export action.
8. Frontend Display Protection
- Restrict financial data views by user roles.
- Mask sensitive data for low-privilege users.
- Prevent unauthorized drill-down or export actions.
Minimum Actions Summary
- Encrypt core financial fields.
- Keep MongoDB private and enforce access control.
- Use TLS for all services.
- Enable logging and monitoring.
- Implement short-lived JWTs with RBAC.