<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://ulrich.dev/</loc></url><url><loc>https://ulrich.dev/tools/</loc></url><url><loc>https://ulrich.dev/writing/</loc></url><url><loc>https://ulrich.dev/writing/audit-log-underrated-ai-safety-feature/</loc></url><url><loc>https://ulrich.dev/writing/charging-for-local-software/</loc></url><url><loc>https://ulrich.dev/writing/rag-pipeline-confused-deputy/</loc></url><url><loc>https://ulrich.dev/writing/reading-other-peoples-threat-models/</loc></url><url><loc>https://ulrich.dev/writing/shipped-ai-feature-friday-liability-monday/</loc></url><url><loc>https://ulrich.dev/writing/the-prompt-is-the-new-perimeter/</loc></url><url><loc>https://ulrich.dev/writing/what-owasp-misses-about-llm-agents/</loc></url></urlset>