They are friends. I would just tell them that you would feel absolutely awful if one of these guys landed in a shelter, and you know that they would never drop the dog in one, but if they do need to rehome it for any reason, to please call you.
You have to trust the person who walks out the door with your puppy. There is really NO contract that will prevent people from doing what they want. Even if the contract says they are not to rehome the puppy, they can just say it died if you call asking. Once they leave us, they are no longer ours. We can request that people call us, or let them know that we will take them back, and 99 times out of 100 they will because they really don't want the dog to go to a shelter, and it is easier to give them back to someone they think will love them than to find them a home themselves.
Sometimes people will do what they want to do regardless.
I would not make up a contract for friends. This is not your business or your hobby. If it were, then I would give a contract to friends as well as strangers, the same to both and treat them equally. A friend would respect that this is my business and would not expect me to treat them differently that I would another puppy owner with respect to the puppies. But you have had a litter of puppies and have raised them, and you care about them, but I think if you trust your friends, a conversation and knowing their character should be enough. If you do not trust them, do not let them have a puppy.
Jenna, RN CGC & Babs, CD RA CGC HIC
Heidi, RA CGC
SG3 Odessa, SchH1, Kkl1, AD
Ninja, RN CGC & Milla, RN CGC
Joy, Star Puppy, RN CGC
Dolly CGC & Bear CGC