Validate tool arguments at the execution boundary
Treat model-generated tool arguments as untrusted input even when they satisfy the generated schema and bind successfully to the expected C# types.
Treat model-generated tool arguments as untrusted input even when they satisfy the generated schema and bind successfully to the expected C# types.
Keep uploads quarantined until required metadata, content, and resource checks succeed, while treating client filenames as untrusted.
Treat deserialized model output as untrusted data and apply normal business validation before it drives application behavior.
Use structured output in Microsoft Agent Framework to turn LLM responses into typed C# objects that can be validated, tested, and used safely in application code.