Data retention policy
Customer data is retained for as long as the account is active. When a customer voluntarily closes their account, data enters an "expired" state and is retained for at least 1 year before removal. If an account is involuntarily suspended, there's a 60-day grace period (account inaccessible but data intact) before it closes and enters the same 1-year expired/removal cycle — except where data must be retained longer to comply with law.
Data archiving and removal policy
Backups run daily and are encrypted the same as production data — daily backups kept 7 days, weekly backups kept 4 weeks, monthly backups kept 1 year. Security documentation and audit trails are kept a minimum of 7 years by default. Removal of expired customer data follows the retention policy above (permanently removable after the 1-year expired period, subject to legal holds).
Data storage policy
All customer data at rest is stored on encrypted volumes using encryption keys managed by Bonusly. Customer data is logically separated at the database/datastore level via a unique customer identifier, enforced at the API layer (every query is scoped to that identifier). Employees don't have standing admin access to production data — access is approval-gated and reviewed case by case, with all access logged.
Data center location(s)
United States
Data hosting details
Application servers run on Heroku (on AWS), fronted by Cloudflare for CDN/DNS/WAF. Primary data store is MongoDB Atlas (three-node cluster: one primary, two secondary). AWS RDS hosts the rewards catalog, in-product analytics, and imported-user data. Elasticache provides ephemeral storage for the job system. Static assets and app JS are served from AWS S3.
Data hosting company
AWS, MongoDB Atlas
App/service has sub-processors
yes
Guidelines for sub-processors
App/service uses large language models (LLM)
yes
LLM retention settings
Zero data retention is enabled on Bonusly's OpenAI account: prompts and completions are not stored by OpenAI and never used for training. Slack context is held in memory only for the request; generated output is kept in the customer's Bonusly tenant.
LLM data tenancy policy
Single-tenant: requests run through Bonusly's own OpenAI enterprise account, scoped to one customer and one authenticated user per call. No shared prompt pool; data is isolated by customer ID at the API layer. Customer data never trains or tunes models.
LLM data residency policy
All LLM processing occurs in the United States. Bizy calls OpenAI's US API endpoints from Bonusly infrastructure hosted in US regions (AWS, MongoDB Atlas). No prompts are routed or processed outside the US, and no customer data is stored at the provider.