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 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.