Platform architecture and where your data lives

How the web app, the mobile app, our API and Stripe fit together — and why card numbers and identity documents never reach our servers.

EveryoneUpdated 2026-07-30

You do not need to understand our architecture to use AutoGineer. It is documented because two design decisions directly affect your money and your identity, and you are entitled to check them rather than take our word for it.

You

  • Web app (Next.js, server-rendered)
  • Mobile app (React Native)

Platform API

  • Authentication, 2FA and sessions
  • Marketplace: jobs, proposals, services, offers
  • Projects: milestones, deliverables, messages
  • Escrow orchestration and dispute decisions
  • Moderation and audit logging

Data

  • Application database
  • File storage for deliverables
  • Real-time channel for live updates

Money and identity — never stored by us

  • Stripe Checkout — card details go straight from your browser
  • Stripe — holds funded amounts until release
  • Stripe Identity — receives your ID document, we get only the result
  • Stripe Connect — pays Experts to their own bank
Two clients, one API, and the deliberate choice to keep card numbers and identity documents outside our systems entirely — they go straight from your browser to Stripe.

The two decisions that matter to you

  • Card details never reach us. Payment happens on Stripe’s own hosted checkout page. There is no card field in our pages and no publishable key in our app, so a compromise of our systems cannot expose your card.
  • Identity documents never reach us. When an Expert verifies their identity, the document and selfie go directly to Stripe Identity. We receive only the outcome — verified, pending or failed — and an expiry date.

Why this is worth stating

Plenty of platforms hold this data themselves. We deliberately do not, because the safest way to protect something is not to have it.

What we do hold

DataWhere it livesWho can see it
Account and profileOur databaseYou; the public parts of an Expert profile
PasswordOur database, as a salted hash onlyNobody — it cannot be read back
Messages and project contentOur database and file storageYou and the counterparty; our staff only when investigating a dispute or report
DeliverablesFile storageYou and the counterparty
Transaction recordsOur databaseYou; retained for tax and accounting
Card numberNever stored by usStripe only
Identity documentNever stored by usStripe only

Both apps, one API

The web app and the mobile app talk to the same versioned API and share the same validation rules, so a limit enforced in one is enforced in the other. Live updates — a new message, an approved milestone — arrive over a real-time channel rather than by polling, which is why the other party usually sees your action within a second.

Security measures

  • Encrypted in transit, with HSTS enforced.
  • Optional two-factor authentication, including authenticator apps and backup codes.
  • Role-based administration with an audit trail of every administrative action.
  • Rate limiting and input validation on the API.
  • Automated screening of uploads and listings, with a human decision over the top.

Found a security problem? Report it to [email protected]. Please do not test against live accounts belonging to other people.

architecturesecuritystripedata

34 articles · Ask a question