Ответ на вопрос 1 / Ваши ключи API будут «общедоступными», но это не проблема, посмотрите этот «известный» ответ Безопасно ли открывать Firebase apiKey для общественности?.Так что никакого «нарушения безопасности».
Ответ на вопрос 2 / Ваши сервисы Angular выполняются на стороне клиента, поэтому данные, полученные из Firestore, обрабатываются на стороне клиента,Роль Firebase Hosting заключается в том, чтобы отправлять ваши Angular-файлы клиенту только тогда, когда они необходимы (т.е. запрашиваются клиентом).
Это означает, что вам, вероятно, следует добавить некоторые правила безопасности в базу данных Firestore (исоответственно строите свои запросы), чтобы отправлять клиенту только те данные, которые он может прочитать.Эти правила безопасности являются частью авторизации механизма аутентификации / авторизации, в то время как аутентификация Firebase будет первой частью.Вы можете прочитать документацию о правилах безопасности Firestore здесь (обратите внимание, что они совершенно отличаются от ваших ключей API) и об Аутентификации Firebase здесь .
Наконец,обратите внимание, что в Firebase единственная часть вашего кода, которая выполняется на серверной стороне (то есть на стороне сервера), - это код, который вы пишете для облачных функций.Таким образом, если вы вызываете из своего приложения Angular облачную функцию (например, вызываемую функцию HTTPS или с HTTP-запросом), код этой функции будет выполняться на стороне сервера , и только полученные данные будутотправить обратно в приложение Angular (на стороне клиента).