Forge64 logo
All app types

Marketplace security

Marketplace security checklist

Before you launch a marketplace, check authz, payments, abuse, uploads and content-safety. The rules below are the ones this category most often gets wrong; each one is concrete enough to test.

Last checked

Security: authz

  • Every order, conversation, dispute and payout action checks the actor is the buyer, the seller of that order, or an admin; sellers can only edit their own listings; all IDs from the client are re-verified against ownership (no IDOR); RLS backs the checks.

Security: payments

  • Prices, fees and currency are computed server-side from the listing at checkout; client-supplied amounts are ignored; amount = platform_fee + seller_net is a database CHECK.

Security: abuse

  • Payouts require charges_enabled and payouts_enabled, no open dispute, an elapsed hold window, and pass velocity rules (new seller + high value + new buyer holds for manual review); a per-seller and global daily payout ceiling fails closed.
  • Signup, listing creation, messaging and checkout are rate limited; self-dealing (buyer and seller sharing user, device, payment fingerprint or payout account) is blocked; disposable-email and rapid-listing patterns hold new sellers in review.
  • Only verified completed orders can be reviewed, one per party per order; rating manipulation (same IP/device cluster, review rings) is flagged; sellers cannot delete reviews, only dispute through reports.

Security: uploads

  • Listing images are validated by size, MIME and magic bytes, re-encoded server-side to strip EXIF/GPS and active content, and never served from the same origin as authenticated pages.

Security: content-safety

  • Listing text and images are checked against a prohibited-items list before publish for new sellers, reportable by any user, with takedown, repeat-offender strikes and a seller appeal path.

Security: pii

  • Buyer addresses and phone numbers are shared with a seller only after payment and only for fulfilment; messages mask emails and phone numbers until the order is paid; personal data is excluded from logs and exportable/erasable per user subject to financial-record retention.

Compliance notes

  • GDPR (applies to EU users): Buyer, seller and message data are personal data: lawful basis, export and erase endpoints, retention limits on messages, and a clear controller/processor split between platform and sellers.
  • Consumer protection and DSA (applies to EU consumers): Clear fees, refund policy, trader identification for sellers, notice-and-action takedown flow and a complaint process.
  • Prohibited and regulated goods: Maintain a prohibited-items policy and per-category rules; services and goods in regulated categories need extra checks or exclusion.

Limits that stop abuse and surprise bills

  • payouts per day cents: global and per-seller daily ceiling (MAX_PAYOUT_PER_DAY_CENTS); release job stops and alerts at the ceiling.
  • refund exposure cents: platform-funded refunds capped per day; above the cap refunds queue for admin approval.
  • image storage mb per seller: per-plan cap; presigned uploads refused at 100%.
  • image processing jobs per seller day: daily cap on processing jobs per seller; over the cap uploads are refused, not queued.
  • emails per user day: capped per user and platform-wide; over the cap notifications degrade to in-app only.
  • transfers per order: exactly one by unique index; any second attempt is refused.

Test it yourself before launch

Forge64 gives every app its own Postgres database and runs a quality gate that flags unauthenticated writes and secrets in client code before you see the app. It does not replace your own testing, and it holds no third-party security certification today.

This is a reference design for the category, not a promise that every item is generated today. Built-ins such as email, background jobs, file uploads and search are coming soon, so anything here that needs them is something you add yourself for now.

  • Sign in as two different users and try to open each other's records by changing the id in the address.
  • Submit each form with an empty value, a very long value and a script tag, and check the result.
  • Call each write endpoint without signing in and check that it refuses.

FAQ

What is the biggest security risk in a marketplace?
Every order, conversation, dispute and payout action checks the actor is the buyer, the seller of that order, or an admin; sellers can only edit their own listings; all IDs from the client are re-verified against ownership (no IDOR); RLS backs the checks.
Does a marketplace have compliance obligations?
GDPR, if you have EU users: Buyer, seller and message data are personal data: lawful basis, export and erase endpoints, retention limits on messages, and a clear controller/processor split between platform and sellers. This is a starting point, not legal advice.
Will Forge64 certify my app as secure?
No. Forge64 holds no third-party security certification today and does not certify apps. The checklist is a way to test your own app.

Build your app with Forge64

One prompt to a running app with auth, database, hosting and payments. Start free, no credit card required.

Start building for free