What is the most secure way to generate a 12 word seed for a hardware wallet. I would like to also add a passphrase.
Usually, it's best to just use whatever procedure the hardware vendor suggests... The brain is a terrible source of entropy, so whatever method you're using not suggested by the vendor, it's usually worse than just following the proper procedure.
This does not mean there aren't good ways to create a 12 word seed yourself, but usually your own methods aren't more secure than the recommanded methods anyway (imho)