How we protect itProtection at every layer.
Protection at every layer.
No promises we can't keep.
Portivo holds your bookings, payments and your customers' data. This is how we protect them.
- Company isolationEvery query is limited to your company, and the database filters rows by company itself (PostgreSQL Row-Level Security).
- Isolation testsEvery push of a change to our repository runs automated tests that keep companies' data apart, Row-Level Security rules included. A change that fails them is stopped.
- Data encryptionThe database and its backups are encrypted with an AWS KMS key, files with AES-256. Integration keys are encrypted again in the app.
- ConnectionsBrowsers and apps connect over HTTPS only, and the API over TLS 1.2 or 1.3. Connections to the database are encrypted too.
- NetworkThe database has no public address: only Portivo's own services inside our AWS network reach it. The dashboard and sign-in reach the API through an AWS WAF firewall with a per-IP request limit.
- Sign-inAmazon Cognito in Frankfurt: a password or a passkey, with an authenticator code (TOTP) on top of the password. Sign-in attempts are rate-limited.
- Roles and audit logTeam roles (owner, admin, staff) limit selected operations, and each booking shows a history of its changes, cancellations, refunds and deposits. Platform administrators' actions go to a log that cannot be changed.
- PaymentsCard details go into Stripe's fields, online and on the terminal, never to Portivo's servers. Stripe is certified PCI DSS Level 1. Online card payments go through 3-D Secure whenever the bank or regulation requires it.
- Identity checksDidit checks the document and the face. Portivo stores the result and the document's data, no photos: the dashboard fetches them only to show them.
- Backups and uptimeAutomatic database backups with point-in-time restore to any second in the last 14 days. Database storage is kept as six copies across three AWS availability zones in Frankfurt.
- Data regionThe database, files and sign-in run on AWS in Frankfurt, with no copies in other regions. Some providers, such as mail delivery, run in the USA.
- IncidentsIf a breach touches your company's data, we tell you without undue delay, as the GDPR requires.
Vulnerability reportsFound a vulnerability?
Found a vulnerability?
Tell us first.
Reports go to our contact address. We answer every one and ask four things of you.
- 1Describe the issueThe address, the steps to reproduce it and what you could see.
- 2Leave other people's data aloneTest on your own account. Do not download, change or delete anyone else's data.
- 3Don't strain the serviceNo load testing, spam or social engineering of our team or customers.
- 4Give us timeKeep the details private until it is fixed. We confirm your report and tell you when the issue is gone.
GDPRYour data, your rights.
Your data, your rights.
All in one place.
An operator can export all of a customer's data from the dashboard and anonymise them.
See Portivo on your own fleet.
A short call about your fleet, a live demo with no strings attached and an implementation plan. We usually reply within one business day.



