Your point about never blindly parsing an incoming JSON payload really resonated with me, though I recently experienced this from a structural angle rather than a security one. I was prototyping an automation workflow and deliberately started with a Form trigger because the payload was clean and flat. All my edge-case tests passed. However, when I swapped it to a production Webhook, the workflow failed silently. The business logic was completely intact, but the payload shape had changed—the actual data was now nested under a body object alongside HTTP metadata. Because I hadn't strictly validated the incoming structure at the start, the downstream nodes quietly stopped seeing the data they expected. It was a great practical reinforcement of your core thesis: you have to validate what is actually arriving, not just what you assume is arriving based on your initial design. Given your focus on strict validation in the Laravel middleware, I’m curious: in your experience, do you find it helpful to add an explicit data-normalization step immediately after the security checks to map the raw payload into a strict, expected schema before it touches the business logic?
