Нет безопасного способа сделать это. Токен - это общий секрет. Чтобы безопасно использовать токен, другие не должны иметь к нему доступ (отсюда и «секретная» часть), но нельзя избежать этого с помощью приложения только для внешнего интерфейса.
GitHub Pages не имеет внутреннего хранилищабез разницы;он предоставляет только статический хостинг. Ваша проблема может возникнуть и с любым другим поставщиком статического хостинга, который не является Heroku.
Вы можете попробовать использовать REST API, который имеет ограниченное количество анонимных запросов, но если вы хотите безопасно использовать GraphQLAPI, тогда вам понадобится бэкэнд-сервис и разместить его где-нибудь, кроме GitHub Pages.