System context
KStudeo is one software system used by visitors, customers, and the photographer. Payment providers, email, and private object storage sit outside it. PostgreSQL is inside the system boundary and is shown in the container view.
What crosses the boundary
| From | To | Data |
|---|---|---|
| Customer | KStudeo | Identity, booking details, referral code, ratings. |
| KStudeo | Stripe | USD amount in cents, order reference, refund request. |
| Stripe | KStudeo | Signed payment and refund events. The event id is stored for deduplication. |
| KStudeo | Object storage | Original bytes and generated thumbnails. Customers never receive storage credentials. |
| KStudeo | Email provider | Account setup links, gallery-access notices, and operational mail. |
The marketing pages that already exist for portrait, wedding, family, travel, modeling, photography, video, design, about, contact, and privacy remain the public face of the product. Booking and the portal are added to that experience. They are not a second brand.
Trust boundary
Anyone on the internet can reach Next.js and the webhook endpoints. Express is the component that decides whether a payment is real, whether a booking is approved, and whether a photograph can be signed. Next.js rendering a button, or a client hiding a download link, is not an access-control decision. Those decisions are stored in PostgreSQL and checked on every request. See authorization.