Security

Last updated: October 11, 2026

PackageTrack Pro is built to handle your facility's package data with the same care you put into managing it. Here's how we protect your information at every layer.

1. Encryption

Data in Transit

All connections to PackageTrack Pro use TLS 1.2 or higher. Every request between your browser and our servers is encrypted. API calls, photo uploads, webhook communications, and database connections are all encrypted in transit.

Data at Rest

Sensitive integration credentials (webhook URLs, API keys for notification channels) are encrypted using AES-256-GCM — the same standard used by banks and government agencies. Each encryption operation uses a unique initialization vector and authentication tag to prevent tampering.

Passwords

User passwords are never stored in plain text. We use bcrypt with a cost factor of 12, which makes brute-force attacks computationally impractical. We never log, display, or transmit passwords — not even to our own team.

2. Tenant Isolation

PackageTrack Pro is a multi-tenant platform, meaning multiple organizations share the same infrastructure. Your data is kept separate from every other organization's.

  • Every customer-facing query is scoped on the server to your facility (or, for billing and organization settings, your organization), and automated tests check isolation between facilities.
  • Every request uses the facility from your signed-in session, checked on the server — never a facility ID sent by the browser. Switching facilities is checked against your organization membership.
  • Every upload is checked against your facility before it is processed. Upload links expire after 5 minutes and are scoped to your facility.
  • If someone attempts to access data from another facility, the system returns a "not found" response — it does not confirm whether the data exists elsewhere.

3. Authentication & Access Control

Login Security

  • Accounts are locked after 5 failed login attempts for 15 minutes to prevent brute-force attacks.
  • Login timing is normalized to make account guessing harder.
  • Sessions use signed JWT tokens with automatic expiration.

Role-Based Access

Within each facility, access is controlled by role. Admins manage users and settings. Operators handle day-to-day package receiving and delivery. Viewers have read-only access. No customer role can view data outside its own organization; only organization owners and admins can switch between its facilities.

4. Payment Security

We never see, store, or process your credit card information. All payment processing is handled by Stripe, a PCI DSS Level 1 certified payment processor — the highest level of certification in the payments industry. Card numbers go directly from your browser to Stripe's servers.

Stripe webhook events are verified using cryptographic signatures before processing. Webhooks are de-duplicated by event ID, so a redelivered event is never applied twice. Failed events are retried by Stripe.

5. Photo & File Security

  • Package photos are stored on Cloudflare's global network (R2 object storage), separate from the application database.
  • Upload URLs are time-limited (5-minute expiration) and facility-scoped.
  • Photos and signatures are automatically deleted according to your facility's retention policy (default: 90 days, configurable from 7 to 365).
  • Uploads are rate-limited per user.

6. AI Privacy

PackageTrack Pro uses AI (Anthropic's Claude) for label scanning and natural-language search. Here's what you should know:

  • Anthropic does not use API data to train its models, and retains API inputs and outputs only for a limited period under its commercial terms.
  • AI features degrade gracefully — if the AI service is unavailable, all core functionality (receiving, delivering, searching) continues to work without interruption.
  • AI usage is rate-limited per user, and AI label scans are capped per facility unless you have the AI add-on.

7. Infrastructure

Hosting & Deployment

PackageTrack Pro runs on Vercel with automatic HTTPS and DDoS protection, and static assets are served from Vercel's global CDN. Deployments are automated from source control — no manual server access required.

Database

Our PostgreSQL database is hosted on Neon, which provides automated backups, point-in-time recovery, and encrypted connections. Database credentials are never exposed in client-side code.

Error Monitoring

We use Sentry for error tracking with source maps hidden from client bundles. We avoid sending credentials or package contents to our error tracker. Reports include user and facility IDs, and sometimes an email address or organization name, so we can fix problems.

8. Input Validation

Input is validated on the server before it reaches the database, using strict schemas (Zod) on nearly every route. This prevents malformed data, injection attacks, and unexpected input. Database access goes through the Prisma ORM. The few hand-written SQL statements use Prisma's tagged templates, so every value is sent as a bound parameter, never joined into the SQL text.

9. Data Retention

  • Package photos and signatures are automatically cleaned up per your facility's retention policy (default: 90 days).
  • Trial accounts that expire have their data deleted after 30 days.
  • Old notifications are automatically pruned to keep the system lean.

10. Subprocessors

We use the following third-party services to operate PackageTrack Pro. Each maintains their own security certifications:

  • Neon — PostgreSQL database hosting (SOC 2)
  • Cloudflare — Photo storage via R2 (SOC 2, ISO 27001)
  • Vercel — Application hosting (SOC 2)
  • Stripe — Payment processing (PCI DSS Level 1)
  • Resend — Transactional email delivery
  • Sentry — Error monitoring (SOC 2)
  • Anthropic — AI label scanning and search (does not train on API data)
  • Twilio — SMS through your own Twilio account, if you enable it
  • Slack / Microsoft Teams — package notifications (recipient and facility name, package tracking number, carrier, sender), only if your facility connects a Slack or Teams webhook

11. Compliance

Our core infrastructure providers (Neon, Cloudflare, Vercel, Sentry) are independently audited against SOC 2, and Stripe is PCI DSS Level 1. We maintain a Privacy Policy covering data collection, usage, and your rights under the CCPA, and Terms of Service governing platform usage.

12. Incident Response

If we confirm a security breach affecting your data, we notify affected customers without undue delay and within 72 hours.

Questions?

If you have security questions, or you've found a vulnerability, email support@packagetrackpro.com. We acknowledge vulnerability reports within 2 business days.

Start Free Trial