Proper engineering requires observing and working with real-world constraints. Ignoring constraints is a form of magical thinking.
One real-world constraint is that end-users won't always do what you intend for them to with the thing you engineered.