Why would you want to keep the Initialization Vectors Public? So I was researching Initialization Vectors (IV) and even took a look at this thread... What is the main difference between a key, an IV and a nonce? ,but I was hoping that I could get some clarity.
Everyone keeps saying they IVs need to be public because the recipient of a cryptographic message will need to first decrypt the cipher text with the cryptographic key, and then the recipient must have the IV to derive the original plaintext message... so whats the point of having the IV public if its there to increase confidentiality.. like if a threat-actor has the key then they can grab the plaintext straight up..
Please let me know if I am completely off.
@kelalaka's comment answers this very succinctly, but in the event that a slightly more in-depth explanation helps, here's my stab at it.

The initialization vector is to encryption as a salt is to salted-hashing/key-derivation.  It ensures that if in a given protocol the same values are used multiple times, a different initialization vector can allow the output to still appear random instead of repeating.
With salted hashing (or key derivation) you are using a known deterministic process to generate an output values.  The salt adds additional entropy to help ensure the result is apparently random.  If the same values is hashed twice without a salt, the hash is the same.  When a unique salt is added to each we help ensure that the outputs are different. Even if the output is coincidentally the same (usually extremely unlikely), we introduce doubt that even if the outputs are the same that the original input was the same.
Encryption needs to be reversible and as a result the algorithms are similarly deterministic.  And in many protocols keys are re-used to encrypt many messages.  In the event that the message is encrypted twice with the same key, we risk revealing that fact by producing the same output.  To avoid this, we include the initialization vector.  When a unique initialization vector is used for each message we again help ensure that the outputs are different.  And again even if the outputs are the same, the fact that a different initialization vector was used makes it extremely unlikely that the original message is the same.
Finally, it's also important to note that the fact that IV is tied to a given act of encryption means that it is not always practical to agree to one ahead of time as you would for a key.  In addition, if the key is still secret, getting it to the recipient is all that matters, as that is what you are relying on to keep your encrypted data safe.  So transmitting it publicly isn't a problem.  It's effectively just a parameter of the algorithm you used to encrypt the message.