If you wish to have part of the site public (as most websites are) while having other parts gated/private, you might look at Netlify Identity to restrict access (you could use this to require login to any page.)
If you are on a paid plan, you could also use Basic Authentication to restrict access to specific pages or the whole site.
However these options would require anyone wishing to visit your site to have a password (or to register to get one) first.
Alternatively, in place of your contact information in the footer, you could have a contact form. When someone contacts you, you can decide if they are legitimate and send them your contact information.