Say I am building a transaction in private:

 1. Input 1 is signed with SIGHASH_SINGLE  ( | SIGHASH_ANYONECANPAY)
 2. Input 2 is signed with SIGHASH_NONE | SIGHASH_ANYONECANPAY


SIGHASH_NONE implies that Input 2 will only spend if Input 1 is included in the transaction. Am I able to communicate this privately-signed transaction in such a way that Input 1 is also locked on the condition that Input 2 is included?

For example, I send this partially-signed transaction, with both signatures, to a person I do not trust. 

 Are they able to spend Input 1 (the SIGHASH_SINGLE) in another transaction without Input 2 included? 

What can I do to lock these two inputs together, with one of the inputs also being locked to an output, while still allowing people to add inputs to the transaction?