Security
Rastro handles the clicks, conversions and payouts of entire networks. Keeping that data safe has been a priority from the first line of code.
Data isolated per network
- Each network's data is kept apart from the others by the database itself (row-level security), not just by application code.
- Within each network, each person only sees what concerns them: an affiliate never sees another affiliate's data, nor the network's revenue.
Accounts and access
- Two-factor authentication required for administrators, with recovery codes stored only as hashes.
- Passwords stored with bcrypt; sign-in attempts limited per account and per address.
- Permission profiles for the team and an audit log of important actions.
Sensitive data
- Affiliates' payment details (IBAN, PayPal) are encrypted; viewing the full details is a deliberate action that is logged.
- IP addresses are stored only as hashes; so are invitation and password-reset tokens.
- Postback tokens and API keys can be revoked and regenerated at any time.
Application and servers
- Connections always over HTTPS, with HSTS; Content-Security-Policy with a nonce on every page.
- Rate limits on public routes and blocking of anyone trying to guess tokens.
- Affiliate postbacks can't call internal networks; uploaded files are checked by their content.
- Dependencies automatically checked against known vulnerabilities, and daily database backups.
GDPR
- Retention periods for click data; after that only aggregated totals remain.
- Each person can download their data or request its deletion from their own account.
Found a vulnerability?
Please let us know before disclosing it. The contact is in security.txt.