ICVOSS DJANGO PACKAGE REGISTRY

Home Live demos sitemaps

This site's own discovery files, generated, not hand-written

django-icv-sitemaps generates every discovery file icvoss.com serves: sitemap.xml, robots.txt, llms.txt, and security.txt. Below is the literal generated content, plus a readable table of every URL entry so you can check the two against each other.

The generated files, verbatim

GET https://www.icvoss.com/sitemap.xml · 200 OK · index of 1 file(s)
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://www.icvoss.com/sitemaps/sitemapsdemo_pages-0.xml.gz</loc>
    <lastmod>2026-07-12T15:04:58.256793+00:00</lastmod>
  </sitemap>
</sitemapindex>
GET https://www.icvoss.com/sitemaps/sitemapsdemo_pages-0.xml.gz · 200 OK
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.icvoss.com/</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/index/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/troubleshooting/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/explanation-how-resolution-works/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/explanation-isolation-layers/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-add-boundary-to-an-existing-app/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-add-rls-policies-with-migrations/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-choose-and-order-resolvers/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-cross-tenant-admin-operations/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-customise-terminology/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-deploy-multi-region/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-provision-and-deprovision-tenants/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-run-celery-tasks-with-tenant-context/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-scope-a-function-that-holds-the-tenant/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-scope-models-through-a-relation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-set-up-a-tenant-model/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/how-to-write-tenant-safe-tests/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/reference-settings/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-boundary/docs/tutorial-first-multi-tenant-app/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-hostmap/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-core/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-search/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-search/docs/backends-meilisearch/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-search/docs/backends-opensearch/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-search/docs/backends-postgresql/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-search/docs/backends-readme/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-search/docs/backends-solr/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-search/docs/backends-testing/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-search/docs/backends-typesense/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-search/docs/backends-vespa/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-sitemaps/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-taxonomy/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-icv-tree/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-waf/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-waf/docs/threat-feed-design/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.icvoss.com/packages/django-waf/docs/specs-forms-prd/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>
GET https://www.icvoss.com/robots.txt · 200 OK
User-agent: *
# Django admin is not part of the public catalogue.
Disallow: /admin/
# Everything else is public: packages, docs, and demos.
Allow: /

Sitemap: https://www.icvoss.com/sitemap.xml
GET https://www.icvoss.com/llms.txt · 200 OK
# ICV OSS

> Open-source Django packages from ICV: multi-tenancy, search,
> sitemaps, taxonomy, tree structures, and a web application firewall.

All packages are MIT-licensed and published to PyPI. Private ICV
packages never appear on this site.

## Docs

- [Package registry](https://www.icvoss.com/): every package, its README, and its docs.
GET https://www.icvoss.com/.well-known/security.txt · 200 OK
Contact: mailto:security@icvoss.com
Expires: 2027-01-01T00:00:00.000Z
Preferred-Languages: en
Canonical: https://www.icvoss.com/.well-known/security.txt

sitemap.xml and section files are read from storage exactly as generated; robots.txt/llms.txt/security.txt are rendered live from the same database records the /robots.txt, /llms.txt, and /.well-known/security.txt views serve.

What's in the sitemap

The same SitemapDemoPage records that produced the XML above, read as a table. Each section tracks its own staleness independently.

Section URL Last modified Change frequency Priority Status
sitemapsdemo_pages / 2026-07-12 daily 1.0 Fresh
sitemapsdemo_pages /packages/django-boundary/ 2026-07-12 weekly 0.8 Fresh
sitemapsdemo_pages /packages/django-hostmap/ 2026-07-12 weekly 0.8 Fresh
sitemapsdemo_pages /packages/django-icv-core/ 2026-07-12 weekly 0.8 Fresh
sitemapsdemo_pages /packages/django-icv-search/ 2026-07-12 weekly 0.8 Fresh
sitemapsdemo_pages /packages/django-icv-sitemaps/ 2026-07-12 weekly 0.8 Fresh
sitemapsdemo_pages /packages/django-icv-taxonomy/ 2026-07-12 weekly 0.8 Fresh
sitemapsdemo_pages /packages/django-icv-tree/ 2026-07-12 weekly 0.8 Fresh
sitemapsdemo_pages /packages/django-waf/ 2026-07-12 weekly 0.8 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/explanation-how-resolution-works/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/explanation-isolation-layers/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-add-boundary-to-an-existing-app/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-add-rls-policies-with-migrations/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-choose-and-order-resolvers/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-cross-tenant-admin-operations/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-customise-terminology/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-deploy-multi-region/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-provision-and-deprovision-tenants/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-run-celery-tasks-with-tenant-context/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-scope-a-function-that-holds-the-tenant/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-scope-models-through-a-relation/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-set-up-a-tenant-model/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/how-to-write-tenant-safe-tests/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/index/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/reference-settings/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/troubleshooting/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-boundary/docs/tutorial-first-multi-tenant-app/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-icv-search/docs/backends-meilisearch/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-icv-search/docs/backends-opensearch/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-icv-search/docs/backends-postgresql/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-icv-search/docs/backends-readme/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-icv-search/docs/backends-solr/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-icv-search/docs/backends-testing/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-icv-search/docs/backends-typesense/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-icv-search/docs/backends-vespa/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-waf/docs/specs-forms-prd/ 2026-07-12 monthly 0.5 Fresh
sitemapsdemo_pages /packages/django-waf/docs/threat-feed-design/ 2026-07-12 monthly 0.5 Fresh
search (illustrative) https://search.icvoss.com/ 2026-07-10 weekly 0.6 Stale, as of 2026-07-10 (demonstration)

The final row is illustrative, not a real section: it demonstrates SitemapSection's staleness tracking without falsely marking this site's own (currently fresh) sitemap as stale.

Why five files, not one

sitemap.xml

What search engines want: every URL, how often it changes, how important it is relative to the rest of the site.

robots.txt

Database-driven crawl rules merged with settings, including the sitemap's own URL so crawlers discover it automatically.

llms.txt

Guidance for AI crawlers: what this site is, what is safe to summarise, and where the canonical docs live.

security.txt

RFC 9116 contact details at the well-known path, so a researcher who finds a problem knows exactly where to report it.

Same-host stays relative, cross-host goes absolute

Both links below are built the same way, a plain url template tag with no host handling. hostmap decides, per call, whether the result stays relative or becomes absolute.

Other live demos

  1. No.01
    django-hostmap

    Host-based URL routing and host-aware reversing.

    hostmap.icvoss.com
  2. No.02
    django-icv-tree

    Materialised path tree structures.

    tree.icvoss.com
  3. No.03
    django-icv-taxonomy

    Cross-domain taxonomy, vocabularies, and tagging.

    taxonomy.icvoss.com
  4. No.04
    django-icv-search

    Pluggable search engine integration.

    search.icvoss.com
  5. No.05
    django-icv-sitemaps (you are here)

    Scalable sitemap and discovery file generation.

    sitemaps.icvoss.com
  6. No.06
    django-brickwork

    A brand-agnostic UI substrate: shell, nav, components.

    brickwork.icvoss.com