Hi c5rlh and welcome to our forum,
In general, we use obfuscation for the code in our forms. In terms of protecting the form design you could disable the open in designer button, encrypt the form and load from another form (check the SDK out for methods to start InfoPath form using data). That would be one way. In general, we don't care about the forms so much and that's why we only obfuscate the code.
Patrick Halstead
Project Manager at Qdabra