Salam and thank you for your question.
The most important aspect of shahadah (declaration of faith) is that the person understands what it means and what are the basic Islamic beliefs.
So this is a matter of what is concealed in one’s heart and it really does not have a specific protocol. A person may do so secretly or among friends. However, it has been a custom to do so in public to express our joy about this new brother and sister to Islam.
In a Muslim country such as Egypt, a person does so in the Islamic court in order to receive a certificate that he or she is a Muslim. This will be useful when the person is going to perform hajj (pilgrimage).
To clarify to all our readers, giving shahadah means to say the testimony of faith in English and in Arabic. Usually a Muslim says the shahadah and the new Muslim repeats the words after him. It is simply to say: “I bear witness that there is no deity worthy of worship except Allah and Muhammad is the servant and messenger of Allah.” In Arabic: “Ashadu alla-ilaha ill-Allah, wa ashahadu anna Muhammadan abduhu wa rasuluh”
Therefore, the answer to all your questions is yes, a woman may give shahadah to men, a non-Muslim may witness a shahadah, and a woman may take her shahadah during her menses.
Views expressed by hosts/guests on this program (live dialogue, Facebook sessions, etc.) are their own and their appearance on the program does not imply an endorsement of them or any entity they represent.