Description
🚀 Describe the new functionality needed
Abuse takes many forms. While Guardrails prevent one type of abuse, usage itself can be another form of abuse. Especially when using cloud-based services, abusive usage can result in massive expenditures.
A quota system is needed to combat usage-based abuses, but also to provide fine-grained control over use. Ideally the server would be able to track usage across multiple users, but, right now, the server doesn't know anything about users and expects that to be a client-side job.
In many organizations, the server may be centralized and serve multiple clients, but usage may need to be tracked and managed centrally, which is why this functionality belongs in the server.
💡 Why is this needed? What if we don't build it?
If the server leaves out a quota system, it would require either client-side implementation, which is not ideal for environments wishing to centralize the server, or it would require an intermediary gateway/proxy in front of the server, which also isn't ideal because it represents yet another system that needs to be managed.
Other thoughts
No response