<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://www.grantautomation.org/</loc><lastmod>2026-06-02</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/audit-trail-evidence-automation/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/audit-trail-evidence-automation/automating-2-cfr-200-record-retention-schedules/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/audit-trail-evidence-automation/building-an-append-only-audit-ledger-in-postgres/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/audit-trail-evidence-automation/cryptographically-signing-grant-compliance-artifacts/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/compliance-metadata-standards/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/compliance-metadata-standards/designing-a-compliance-artifact-metadata-schema/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/data-security-access-boundaries/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/data-security-access-boundaries/enforcing-row-level-access-control-for-restricted-grant-funds/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/data-security-access-boundaries/securing-pii-in-nonprofit-grant-databases/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/grantor-specific-rule-taxonomies/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/grantor-specific-rule-taxonomies/modeling-grantor-rules-as-a-decision-table-in-python/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/indirect-cost-rate-automation/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/indirect-cost-rate-automation/applying-a-negotiated-indirect-cost-rate-agreement-in-python/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/indirect-cost-rate-automation/automating-the-10-percent-de-minimis-indirect-cost-rate/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/irs-990-data-schema-mapping/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/irs-990-data-schema-mapping/how-to-map-irs-990-part-vii-to-json-schema/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/irs-990-data-schema-mapping/mapping-990-schedule-a-public-support-test-to-json/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/irs-990-data-schema-mapping/pydantic-v1-vs-v2-validation-contracts-for-irs-990-ingestion/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/pipeline-fallback-retry-logic/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/pipeline-fallback-retry-logic/building-a-fallback-routing-system-for-grant-apis/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/pipeline-fallback-retry-logic/choosing-retry-budgets-and-backoff-for-grant-api-failures/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/state-charity-registration-compliance/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/state-charity-registration-compliance/automating-multi-state-charity-renewal-deadline-tracking/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/core-architecture-compliance-mapping/state-charity-registration-compliance/state-by-state-nonprofit-reporting-requirements-checklist/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/api-polling-rate-limiting/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/api-polling-rate-limiting/handling-rate-limits-in-grant-portal-apis/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/api-polling-rate-limiting/implementing-token-bucket-throttling-for-grants-gov-apis/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/api-polling-rate-limiting/paginating-grants-gov-search-results-deterministically/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/async-batch-processing-pipelines/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/async-batch-processing-pipelines/building-async-batch-processors-for-grant-submissions/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/async-batch-processing-pipelines/exactly-once-processing-with-idempotency-keys-in-grant-pipelines/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/end-to-end-pipeline-walkthrough/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/error-categorization-logging/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/error-categorization-logging/building-a-dead-letter-queue-for-failed-grant-payloads/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/error-categorization-logging/implementing-automated-error-logging-for-grant-pipelines/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/excel-budget-template-sync/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/excel-budget-template-sync/automating-excel-to-csv-conversion-for-budget-tracking/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/excel-budget-template-sync/reconciling-merged-cells-in-funder-budget-workbooks/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/field-mapping-normalization/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/field-mapping-normalization/resolving-funder-alias-collisions-with-deterministic-lookup-tables/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/field-mapping-normalization/standardizing-grant-field-names-across-multiple-portals/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/pdf-grant-application-parsing/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/pdf-grant-application-parsing/camelot-vs-pdfplumber-for-grant-budget-tables/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/pdf-grant-application-parsing/extracting-tables-from-grant-pdfs-using-pypdf2-and-camelot/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/pdf-grant-application-parsing/ocr-fallback-for-scanned-grant-applications-with-tesseract/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/webhook-event-ingestion/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/webhook-event-ingestion/deduplicating-webhook-retries-with-idempotency-keys/</loc><lastmod>2026-07-15</lastmod></url>
  <url><loc>https://www.grantautomation.org/data-ingestion-grant-parsing-workflows/webhook-event-ingestion/verifying-hmac-signatures-on-grant-portal-webhooks/</loc><lastmod>2026-07-15</lastmod></url>
</urlset>
