It takes an afternoon to build an impressive LLM demo — and much longer to build a feature customers can rely on. Use this LLM integration checklist to review any AI feature before launch. It applies whether you use OpenAI, Azure OpenAI, Anthropic Claude or another provider.

Scope and value

1. A specific, measurable use case

"Add AI" is not a use case. "Draft a first reply to support tickets in under ten seconds, accepted without edits most of the time" is. Define the task, the user and what success looks like.

2. Real examples collected

Gather real inputs with the correct outputs before writing prompts. They become your evaluation set (see item 9).

3. The right tool for each part

Use normal code for rules, calculations and lookups; use the model for language and judgment. Many failures come from asking the model to do arithmetic or enforce business rules.

Data and security

4. Minimum necessary data

Send only what the task needs. Remove or mask personal data where possible and check your provider's data usage and retention terms.

5. Keys on the server

Call models only from your backend; store keys in a vault. See integrating an LLM API in ASP.NET Core.

6. Permission-aware retrieval

If you use RAG, filter documents by the user's access rights before they reach the model.

7. Prompt injection defenses

Treat user input and retrieved documents as untrusted. Keep system instructions separate, restrict tools, and require approval for sensitive actions. Review the OWASP Top 10 for LLM Applications.

8. Output handling

Encode model output before displaying it, validate structured output (JSON) against a schema, and never execute generated code or queries without checks.

Quality

9. An evaluation set in CI

Run your examples automatically whenever prompts, models or retrieval settings change, and track the score over time.

10. Grounding and honesty

Instruct the model to answer from provided sources, to cite them and to say "I don't know" when the answer is not there.

11. Human review where it matters

Keep a person in the loop for content that is customer-facing, legal, financial or medical — at least until evaluation proves reliability.

Cost and performance

12. Cost controls

  • Choose the smallest model that meets the quality bar for each task.
  • Limit input and output tokens; trim retrieved context to what is relevant.
  • Cache repeated answers and embeddings.
  • Set rate limits and budgets per user and per tenant.

13. Latency and user experience

Stream responses where possible, show progress, set timeouts and move long tasks to background jobs with notifications.

Operations

14. Monitoring and logging

Log requests, token usage, latency, errors and user feedback (thumbs up/down) per feature — without logging secrets or unnecessary personal data. Alert on cost spikes and error rates.

15. Fallbacks and provider flexibility

Handle provider outages and rate limits gracefully, keep the rest of the app working, and put model calls behind an abstraction so you can switch or combine providers — see Azure OpenAI vs OpenAI.

Printable summary

AreaChecks
ScopeMeasurable use case · real examples · right tool for each part
SecurityMinimum data · server-side keys · permission-aware retrieval · injection defenses · safe output handling
QualityEvaluation in CI · grounding and citations · human review
Cost and UXModel choice · token limits · caching · budgets · streaming and timeouts
OperationsMonitoring · alerts · fallbacks · provider abstraction

Key takeaway: most LLM features fail on evaluation, security and cost — not on the model. Treat AI like any other production dependency.

Want a second pair of eyes before launch? Our AI integration team reviews and builds LLM features for .NET and Node.js products, and our architecture reviews cover AI systems too.