PortaPro Software is built with a security-first architecture designed to protect the operational, customer, and financial data of portable sanitation companies.
Last Updated: October 12, 2026Every component from authentication to infrastructure is designed with modern best practices, strict access controls, and enterprise-grade reliability.
PortaPro Software runs on globally distributed infrastructure with automatic failover and zero-downtime deployments, providing hardened data centers, continuous system patching, and isolated build environments.
All business data is stored in a fully managed enterprise-grade PostgreSQL database. Data is encrypted at rest using AES-256 encryption, and automated backups run daily.
Every request passes independent checks before it touches a company's records, and each one is built to hold even if another fails:
Roles and company membership are read from PortaPro's own database on every request, never trusted from the browser or the login token. A user can never move themselves into another company: the fields that say who a person is and which company they belong to are locked.
Each customer operates within their own isolated organization environment, accessed via portaprosoftware.com/t/[company-slug]/dashboard. All API routes and database queries are scoped to the signed-in person's own company, enforced at both the application and database level. Cross-company access is blocked by the database and tested on every release.
PortaPro Software is built on Next.js with TypeScript, ensuring compile-time type safety. All code is statically analyzed, linted, and validated before deployment through an immutable cloud build pipeline.
React Server Components execute exclusively on the server, preventing sensitive business logic and database queries from ever reaching the client. API routes are protected with organization-scoped authentication middleware.
Role-based permissions (admin, dispatcher/office, driver/technician, and customer portal) ensure users only access data relevant to their job function, enforced at both the application layer and database level through RLS policies.
All API keys (Stripe, Clerk, Mapbox, Twilio, Resend, ElevenLabs, Daily) are stored in our hosting platform's encrypted environment variable system and never exposed to the frontend. Credentials a company connects (accounting, payroll, GPS, gift cards) are sealed with AES-256-GCM before they are stored, and texting credentials live in a dedicated secrets vault with no plain-text copy. Every encryption key can be rotated without downtime under a written runbook.
All code is versioned through GitHub with a protected production branch and automated pre-deployment checks, including tenant isolation audits that run before every release. Every deployment is traceable to a specific commit with full history.
A change cannot be released if it adds a server route or server action without an access check, or lets a field role make an office-only change. Automated cross-company tests run two companies side by side: one company's admin asks for the other company's records through every route that takes a record id, and any data from the other company in a response blocks the release. The same tests run against the live staging site with real sign-ins, and every privileged database function is called as the wrong company.
Every update headed for production also passes through an independent automated review layer that examines new and changed code for security issues, logic defects, and unsafe patterns before release. This runs on top of the pre-deployment guard suite, and findings are resolved before the change ships.
PortaPro Software uses Clerk for SOC 2 Type II certified authentication. Clerk provides secure session management, passkeys, multi-factor authentication, email verification, magic links, and device-level session tracking. All authentication flows are handled server-side through Next.js App Router middleware, with organization context validated on every request before any data is accessed.
Users authenticate into their company's organization through Clerk Organizations. Company membership and role are checked against PortaPro's own records on every request, preventing cross-company access at both the application and database level. Customer portal users are never treated as members of the company that serves them: they see only their own records.
When new users sign up, PortaPro Software automatically creates an isolated organization environment with demo data seeding, ensuring immediate functionality while maintaining strict data separation from other tenants.
PortaPro Software provides role-based access tailored for field teams, office staff, and customer portal users. Sessions are secured with automatic timeout, device fingerprinting, and anomaly detection through Clerk's security monitoring.
All data is encrypted in transit using TLS 1.3. All data is encrypted at rest using AES-256 encryption. Database connections use encrypted SSL/TLS with certificate validation.
Key actions including authentication events, data modifications, billing operations, and administrative actions are logged with timestamps, user details, IP addresses, and organization context.
Files, images, and documents are stored using enterprise-grade object storage with signed URLs that expire after a defined period. Files are scoped to organizations and access is validated through authentication tokens.
Location data from Mapbox routing and GPS tracking is encrypted in transit and stored with organization-level isolation. Route history and location logs are automatically purged based on configurable retention policies.
PortaPro Software never touches, stores, or processes raw credit card information. All billing, invoicing, and payment processing run through Stripe Connect, using Stripe Express accounts, meeting PCI DSS Level 1 compliance.
Payment processing is not self-serve. Every organization's payments capability is enabled individually by the PortaPro team during onboarding, after we have verified the business behind the account. The same manual gate applies to phone number provisioning and to outbound email on PortaPro's infrastructure. A newly created account cannot activate payment processing, purchase phone numbers, or send bulk email on its own. We say this plainly because it matters: PortaPro is a deliberately poor target for anyone looking to abuse payments or messaging infrastructure.
Payouts from customer payments settle only to a verified bank account linked during Stripe onboarding. Debit card payout destinations are not supported. Instant payouts are available only where the linked bank account is eligible through Stripe, never through a debit card. These restrictions close the fastest cash-out paths used in payment fraud and protect the operators processing real revenue on the platform.
Customer payments flow directly to each rental company's Stripe account. PortaPro Software only collects platform subscription fees, eliminating money-transmission risk and ensuring operators maintain full control of their revenue.
Customer payment methods are tokenized by Stripe and stored securely in Stripe's vault. PortaPro Software only stores non-sensitive payment metadata (last 4 digits, card brand, expiration month/year) for display purposes.
All invoices are generated server-side with customer data validated against organization context. Invoice PDFs are created on-demand and stored with signed URLs that expire after access.
A global edge network delivers PortaPro Software with low-latency access for field technicians, drivers, and office staff regardless of geographic location.
Automated daily backups are maintained by our managed database provider, with documented restoration procedures.
Application errors are captured in real time with dedicated error tracking, so problems are seen and fixed before customers report them. Server request logs are recorded by our hosting platform, and scheduled jobs record every run. When a signed-in person asks for a company they do not belong to, the attempt is logged, and anything that looks like probing alerts the team by email and chat within the hour. A nightly check of every company's billing records flags anything inconsistent before the operator sees it.
PortaPro is hosted on enterprise cloud infrastructure with a 99.9% uptime target. Scheduled maintenance is announced in advance and deployments use zero-downtime atomic releases.
A public status page at status.portaprosoftware.com provides real-time uptime metrics for all platform services including the main application, mobile app, database, authorization, map services, email delivery, SMS notifications, and live map radar. Users can monitor service health at any time.
Every production release is deployed as an isolated, immutable build. Deployments are atomic: a release is either fully live or not live at all.
New releases are built and checked alongside the running version and switched over only when ready, so a deployment never takes the app offline. A previous release can be restored instantly.
Production database access, infrastructure management, and sensitive logs are restricted to authorized personnel only. All administrative actions are logged with multi-factor authentication required for access.
All open-source dependencies are automatically scanned for known vulnerabilities through GitHub Dependabot and npm audit. Critical security patches are prioritized for immediate deployment.
PortaPro maintains a secured admin environment at admin.portaprosoftware.com protected by multiple independent layers: an infrastructure-level SSO gate in front of the hostname itself, standard Clerk authentication restricted to named operator accounts, and a rotating time-based one-time code challenge. All administrative actions, including tenant impersonation for support, are logged with timestamps and identity context.
Customer notifications, service reminders, and driver dispatch messages are sent through Twilio's infrastructure. SMS messages are encrypted in transit and stored with minimal retention periods.
Inbound webhooks from Stripe, Twilio, and other services are validated using cryptographic signatures (HMAC-SHA256) to prevent spoofing. Invalid webhook requests are rejected and logged for security review.
PortaPro is listed in the Cloud Security Alliance (CSA) STAR Registry. We completed the CSA Consensus Assessments Initiative Questionnaire (CAIQ v4.1), which answers 283 security questions across all 17 domains of the CSA Cloud Controls Matrix, and published it with our security policy so customers and their IT teams can review exactly how PortaPro is secured. The assessment is renewed every year. View PortaPro in the STAR Registry.
PortaPro's core infrastructure providers (including Clerk, Stripe, Twilio, Resend, and our cloud hosting provider) maintain active SOC 2 Type II certifications, ensuring independent validation of security controls.
PortaPro Software provides data portability, right-to-erasure, and consent management features required under GDPR. Customer data is stored in geographically compliant regions, and data processing agreements are available upon request.
Enterprise customers can request a signed Data Processing Agreement outlining PortaPro Software's commitments regarding data handling, sub-processor management, and security incident response.
PortaPro Software maintains a documented incident response plan with defined escalation procedures, communication protocols, and remediation workflows. Security incidents are categorized by severity and handled according to SLA commitments.
In the event of a security incident affecting customer data, impacted customers are notified within 72 hours via email and in-app notifications. Incident reports include timeline, impact assessment, and remediation steps taken.
PortaPro Software maintains documented disaster recovery procedures including data restoration protocols, failover procedures, and communication plans to ensure service continuity during infrastructure disruptions.
PortaPro Software supports responsible security research and encourages ethical reporting of vulnerabilities. Researchers who discover and responsibly disclose security issues are acknowledged (with permission) and receive timely responses.
Security vulnerabilities should be reported to security@portaprosoftware.com. Reports are triaged within 48 hours and researchers receive updates on remediation progress. We request a 90-day disclosure window before public disclosure.
For security-related questions, compliance documentation requests, or to report a vulnerability:
PortaPro Software – Security Team
security@portaprosoftware.comFor enterprise customers requiring detailed security documentation, our completed security questionnaire, or a Data Processing Agreement, please contact our team to arrange an NDA and disclosure.