Software security lessons from someone who has spent a number of years cleaning a toilet used primarily by a small child:

1) end users cannot be trusted to provide input in the way you expect, they will continue to surprise you
2) end user input will make it way to places you thought impossible
3) end user input utimately will need to be sanitised multiple times

@SecureOwl And in cases like yours, the end user too will need to be sanitised.
@SecureOwl Amen.
Maybe an extra:
- End user perception of the needed skills and proficiency in delivering inputs is only present after said skills are precent. Failures are always attributed to infrastructure or technology as a consequence.

@SecureOwl Many years ago, I briefly tried a stint of programming as a fallback career (fixing the American healthcare system is better for my blood pressure, really).

At one point I remember ranting to my boss that our beta testers were among the least competent people I have ever met, I started to ask how these people turn on their computers without burning down their own homes...and it finally hit me. My boss was a genius:

You can't fool-proof software without testing it on fools.

@SecureOwl @memory One common way to avoid this is to put off having end users indefinitely.
@SecureOwl sometimes, that makes me fear but after many seconds I realize it is real