For business focused software, we have had success simply not allowing direct prompting and rather having prompting happen behind the scenes, kind of like backend code. Narrow prompts return results to the UI for interaction indirectly through structured data fields. Obviously not possible in all LLM applications.