<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url><loc>https://lianagrigory.com/</loc><lastmod>2026-09-02</lastmod><changefreq>monthly</changefreq><priority>1.0</priority>
    <image:image><image:loc>https://lianagrigory.com/img/liana-800.jpg</image:loc><image:title>Liana Grigory (Liana Grigoryan)</image:title><image:caption>Liana Grigory, entrepreneur and technology founder in Los Angeles</image:caption></image:image>
    <image:image><image:loc>https://lianagrigory.com/img/careroyal_app.jpg</image:loc><image:title>The Care Royal</image:title><image:caption>The Care Royal running in production</image:caption></image:image>
    <image:image><image:loc>https://lianagrigory.com/img/tegula.jpg</image:loc><image:title>Tegula Stone</image:title><image:caption>Tegula Stone running in production</image:caption></image:image>
    <image:image><image:loc>https://lianagrigory.com/img/unified.jpg</image:loc><image:title>Unified Savers</image:title><image:caption>Unified Savers running in production</image:caption></image:image>
    <image:image><image:loc>https://lianagrigory.com/img/appstore.jpg</image:loc><image:title>App Store listings</image:title><image:caption>Apps on the App Store and Google Play</image:caption></image:image></url>
  <url><loc>https://lianagrigory.com/about</loc><lastmod>2026-09-02</lastmod><changefreq>monthly</changefreq><priority>0.9</priority>
    <image:image><image:loc>https://lianagrigory.com/img/liana-800.jpg</image:loc><image:title>Liana Grigory (Liana Grigoryan)</image:title><image:caption>Liana Grigory, entrepreneur and technology founder in Los Angeles</image:caption></image:image></url>
  <url><loc>https://lianagrigory.com/press</loc><lastmod>2026-09-02</lastmod><changefreq>monthly</changefreq><priority>0.9</priority>
    <image:image><image:loc>https://lianagrigory.com/img/liana-800.jpg</image:loc><image:title>Liana Grigory (Liana Grigoryan)</image:title><image:caption>Liana Grigory, entrepreneur and technology founder in Los Angeles</image:caption></image:image></url>
  <url><loc>https://lianagrigory.com/insights/</loc><lastmod>2026-09-25</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://lianagrigory.com/insights/firestore-security-rules-are-row-level-security/</loc><lastmod>2026-08-28</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/keeping-a-serverless-portfolio-inside-the-free-tier/</loc><lastmod>2026-08-28</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/shipping-one-codebase-to-both-app-stores-with-capacitor/</loc><lastmod>2026-08-28</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/cloudflare-pages-workers-routing-boundary/</loc><lastmod>2026-09-01</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/firebase-custom-claims-authorization-lifecycle/</loc><lastmod>2026-09-01</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/a-deploy-is-not-done-when-the-upload-succeeds/</loc><lastmod>2026-09-01</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/rate-limiting-inside-a-stateless-function/</loc><lastmod>2026-09-08</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/pages-that-live-in-a-database/</loc><lastmod>2026-09-08</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/a-page-with-no-links-to-it-does-not-exist/</loc><lastmod>2026-09-08</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/deleting-a-user-account-is-a-distributed-transaction/</loc><lastmod>2026-09-10</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/what-is-actually-a-secret/</loc><lastmod>2026-09-10</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/proving-security-rules-without-a-database/</loc><lastmod>2026-09-10</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/deploy-order-is-part-of-the-design/</loc><lastmod>2026-09-12</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/the-write-that-has-to-see-the-write-before-it/</loc><lastmod>2026-09-12</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/a-service-account-is-a-dependency-not-an-account/</loc><lastmod>2026-09-12</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/publications</loc><lastmod>2026-09-02</lastmod><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://lianagrigory.com/writing/firestore-per-tenant-isolation</loc><lastmod>2026-06-11</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/hipaa-bar-free-tier</loc><lastmod>2026-06-25</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/one-document-public-indexes</loc><lastmod>2026-07-09</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/capacitor-app-store-review</loc><lastmod>2026-07-23</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/deny-by-default-security-rules</loc><lastmod>2026-08-06</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/workers-ai-edge-inference</loc><lastmod>2026-08-13</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/technical-cofounder-first-90-days</loc><lastmod>2026-08-20</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/navigation-that-never-lies</loc><lastmod>2026-08-24</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/the-spreadsheet-is-the-spec</loc><lastmod>2026-09-01</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/a-200-is-not-a-contract</loc><lastmod>2026-09-02</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/two-footers-one-site</loc><lastmod>2026-09-02</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/writing/one-entity-or-five</loc><lastmod>2026-09-02</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/terms</loc><lastmod>2026-08-15</lastmod><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://lianagrigory.com/privacy</loc><lastmod>2026-08-15</lastmod><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://lianagrigory.com/insights/the-email-you-do-not-send/</loc><lastmod>2026-09-24</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/the-scheduled-job-you-cannot-see-fail/</loc><lastmod>2026-09-24</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/a-spreadsheet-is-an-execution-environment/</loc><lastmod>2026-09-24</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/a-key-is-data-not-a-name/</loc><lastmod>2026-09-25</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/copy-the-reason-not-the-constant/</loc><lastmod>2026-09-25</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/write-the-trigger-not-the-optimisation/</loc><lastmod>2026-09-25</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/an-upload-is-untrusted-input-you-then-serve/</loc><lastmod>2026-09-29</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/the-page-that-answers-every-url/</loc><lastmod>2026-09-29</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/an-automated-job-commits-like-a-guest/</loc><lastmod>2026-09-29</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/a-job-that-runs-twice-should-change-nothing/</loc><lastmod>2026-10-02</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/every-claim-on-the-page-needs-a-row-behind-it/</loc><lastmod>2026-10-02</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
  <url><loc>https://lianagrigory.com/insights/two-screens-not-one-screen-with-two-states/</loc><lastmod>2026-10-02</lastmod><changefreq>yearly</changefreq><priority>0.7</priority></url>
</urlset>
