Para usar AngularJS en mi aplicación, tengo que exponer una API públicamente, y los datos son el USP de mi aplicación. No quiero que alguien use fácilmente todos los datos. ¿Hay alguna alternativa?

Use una capa intermedia de Node.js (Express Framework) para llamar a su API de forma segura. Entonces, si tiene un modelo con 6 submodelos asociados, puede llamar y agregar esos datos en un lugar y dejar que AngularJS llame a esta ruta que tiene datos agregados. Ahorrará a sus usuarios múltiples solicitudes de llamadas REST y el tiempo de respuesta del sitio web será mucho más rápido.

De esta forma, puede asegurar las rutas de Rails para que se las llame y exponga directamente. Use UUID para la clave principal que evita que los usuarios no puedan adivinar la próxima identificación y puede salvarlo. Guarde la dirección IP del usuario y genere un token basado en eso. Usar solicitudes de API basadas en sesión.

Y confía en mí, sea cual sea la situación, siempre hay una manera de eliminar datos de un sitio web a menos que sea un sitio web protegido que requiera un inicio de sesión.

Entonces, supongo que debería centrarse en crear el producto y dejarlo ir porque alguien que es un buen raspador realmente puede recopilar todos sus datos sin importar lo que un buen hacker pueda ingresar a Facebook, Twitter y mirar los datos de los usuarios.

He descartado los datos de Zomato y su sitio web es seguro en mi opinión 🙂

Puede tener un backend separado, digamos ror. Luego, después de que solo necesite escribir promesas como parte de los servicios angulares. Así es como puede mantener sus datos seguros utilizando algunos db seguros en el backend