<?xml version="1.0" encoding="UTF-8"?>
<!--
  AI-friendly sitemap. Extends the standard sitemap.xml (loc/changefreq/priority)
  with per-URL title, summary, and type so LLM crawlers and agents can decide
  relevance without fetching every page, plus direct pointers to the
  machine-readable resources (llms.txt, /ai/*.json, JSON-LD).

  Generated by src/blog.js. Non-blog entries live in src/site-content.js.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:llm="https://getfedo.com/schemas/sitemap-llm/1.0">

  <url>
    <loc>https://getfedo.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    <llm:title>fedo - In-app feedback SDK for iOS, Android &amp; Flutter</llm:title>
    <llm:summary>In-app feedback SDK for mobile apps. One line of code adds a feedback screen with feature request voting, bug reporting, comment threads, and a roadmap dashboard. Android SDK available now; iOS, Flutter, and React Native coming soon.</llm:summary>
    <llm:type>product_landing</llm:type>
    <llm:structured_data>
      <llm:jsonld>https://getfedo.com/</llm:jsonld>
      <llm:json>https://getfedo.com/ai/product.json</llm:json>
      <llm:json>https://getfedo.com/ai/pricing.json</llm:json>
      <llm:json>https://getfedo.com/ai/faq.json</llm:json>
    </llm:structured_data>
  </url>

  <url>
    <loc>https://getfedo.com/privacy</loc>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
    <llm:title>Privacy Policy — fedo</llm:title>
    <llm:summary>fedo privacy policy. Collects only what users explicitly submit as feedback; no passive tracking, fingerprinting, or ad-related data collection.</llm:summary>
    <llm:type>legal</llm:type>
  </url>

  <url>
    <loc>https://getfedo.com/terms</loc>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
    <llm:title>Terms of Service — fedo</llm:title>
    <llm:summary>fedo terms of service - plain-language terms for using fedo.</llm:summary>
    <llm:type>legal</llm:type>
  </url>

  <url>
    <loc>https://getfedo.com/refund-policy</loc>
    <changefreq>monthly</changefreq>
    <priority>0.3</priority>
    <llm:title>Refund &amp; Cancellation Policy — fedo</llm:title>
    <llm:summary>fedo refund and cancellation policy. Paddle.com is the Merchant of Record and issues refunds; subscriptions can be cancelled anytime from the billing portal and run to the end of the paid period. Upgrades are prorated immediately, downgrades apply at renewal, and early access pricing is locked at the rate you signed up at.</llm:summary>
    <llm:type>legal</llm:type>
  </url>

  <url>
    <loc>https://getfedo.com/llms.txt</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
    <llm:title>llms.txt</llm:title>
    <llm:summary>Plaintext overview of fedo for LLMs: what it does, integration steps, supported platforms, pricing, and links.</llm:summary>
    <llm:type>ai_context</llm:type>
  </url>

  <url>
    <loc>https://getfedo.com/blog/feed.xml</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
    <llm:title>fedo blog RSS feed</llm:title>
    <llm:summary>Full-text RSS 2.0 feed for the fedo engineering blog. Every item carries the complete post body inline in content:encoded, plus author, categories, and publication date, so the whole blog can be ingested in a single request without fetching each page.</llm:summary>
    <llm:type>feed</llm:type>
  </url>

  <url>
    <loc>https://getfedo.com/ai/index.json</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
    <llm:title>fedo AI data manifest</llm:title>
    <llm:summary>Manifest listing fedo's structured JSON resources (product, pricing, FAQ) for AI agents.</llm:summary>
    <llm:type>ai_data</llm:type>
  </url>

  <url>
    <loc>https://getfedo.com/blog</loc>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
    <llm:title>fedo blog — engineering the feedback SDK</llm:title>
    <llm:summary>Engineering blog for fedo, the in-app feedback SDK: architecture deep dives, SDK release notes, and lessons learned building feature request voting, bug reporting, and roadmaps for mobile apps.</llm:summary>
    <llm:type>blog_index</llm:type>
  </url>

  <url>
    <loc>https://getfedo.com/blog/roadmap-statuses</loc>
    <lastmod>2026-08-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
    <llm:title>Five statuses are enough for a public roadmap</llm:title>
    <llm:summary>In Review, Planned, In Progress, Shipped, Closed. What each one promises the person who asked, and why the fifth had to be a bucket rather than a verdict.</llm:summary>
    <llm:type>blog_post</llm:type>
    <llm:structured_data>
      <llm:jsonld>https://getfedo.com/blog/roadmap-statuses</llm:jsonld>
      <llm:markdown>https://getfedo.com/blog/roadmap-statuses.md</llm:markdown>
    </llm:structured_data>
  </url>

  <url>
    <loc>https://getfedo.com/blog/board-icon</loc>
    <lastmod>2026-08-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <llm:title>Image uploads on a Go backend: R2 and orphan cleanup</llm:title>
    <llm:summary>Building board icon uploads on a Go backend with Cloudflare R2: bucket layout keyed by icon id to sidestep cache invalidation, downscale-only resizing to 512/192/64 from a 1024 master, orphan cleanup, and rate limiting.</llm:summary>
    <llm:type>blog_post</llm:type>
    <llm:structured_data>
      <llm:jsonld>https://getfedo.com/blog/board-icon</llm:jsonld>
      <llm:markdown>https://getfedo.com/blog/board-icon.md</llm:markdown>
    </llm:structured_data>
  </url>

</urlset>
