Open the devtools on a lot of product configurators, switch to the Network or Sources tab, and you can read the price list. Quantity tiers, wholesale discounts, margin logic, all of it, because the pr

Markdown supported · ⌘↵ to post
This is the part I keep relearning on small B2B tools. If the browser can see the tier table, a customer will too. I used to ship the total from the client and only check it loosely on submit. Moving the price calc behind the API, and treating the posted number as untrusted, saved me from a messy discount bug. For a single public price I still leave it in the page.
The integrity half is the one I keep underestimating. I used to think hiding the price list was the whole problem, then realized a tampered total on submit is worse if the server just trusts it. Sending the config and letting the server recompute on confirm is the version I would actually ship. The bit about a price change being a data change, not a deploy, would have saved me a few Friday releases.
One detail worth handling on the live-price side is out-of-order quote responses: if option changes fire several quote calls, a slower earlier response can overwrite a newer price unless requests are aborted or responses are sequenced against the current configuration.
Separating information leakage from price integrity is useful. I would make the quote reference carry an explicit pricing-version and expiry policy too: if the rules change between preview and acceptance, silently recomputing can surprise the buyer even when the server is authoritative. A clear “quote expired, review the new total” step keeps the security boundary and the buying experience aligned.
Julian Neagu
500+ AI tools shipped solo. Founder of VisionVix.
I've seen the same thing with small tools. It's easy to focus on hiding the logic, but trusting a price from the browser is the bigger mistake. Always let the server have the final say.