{"adoption": {"forks": 299, "observed_at": "2026-08-28T04:05:11.982598+00:00", "stars": 1617}, "canonical_url": "https://ross.abutalabs.com/products/finbucklemultitenant", "card": {"archived": false, "artifact_type": "library", "description": "MultiTenant is an open source multi-tenancy library for modern .NET created and maintained by Finbuckle LLC.", "domain": ["web-development", "backend", "security", "databases"], "enriched": true, "function": ["middleware", "auth", "orm", "web-framework"], "health_score": 99, "homepage": "https://www.finbuckle.com/MultiTenant", "language": "C#", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["Finbuckle/Finbuckle.MultiTenant"], "name": "Finbuckle/Finbuckle.MultiTenant", "platform": ["dotnet", "cross-platform"], "pushed_at": "2026-08-20T20:32:25+00:00", "repo": "Finbuckle/Finbuckle.MultiTenant", "stars": 1617, "tags": ["multi-tenancy", "aspnetcore", "efcore", "saas", "tenant-resolution", "per-tenant-data", "web-server"], "topics": ["aspnetcore", "efcore", "dotnet", "multi-tenant"], "urls": [], "use_cases": ["add multi-tenancy to an ASP.NET Core SaaS app", "resolve tenants from subdomains, route, or headers", "isolate tenant data with EF Core shared or separate databases", "configure per-tenant options and authentication", "store tenant info in config, EF Core, or distributed cache"], "what_it_is": "Finbuckle.MultiTenant is an open source multi-tenancy library for modern .NET, primarily targeting ASP.NET Core and Entity Framework Core applications. It provides tenant resolution strategies, tenant stores, per-tenant options and authentication, and per-tenant data isolation.", "when_to_avoid": ["your application is not on .NET or ASP.NET Core", "you need a fully hosted multi-tenant platform rather than a library", "you use a .NET version not aligned with the library's major version"], "when_to_choose": ["building a .NET SaaS application that serves multiple tenants", "you need drop-in multitenancy following standard .NET DI and Options conventions", "you want flexible tenant resolution strategies with fallback chaining"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/finbucklemultitenant", "repo": "Finbuckle/Finbuckle.MultiTenant", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:11.982598+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:49:41.652544+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7851ed6c1716da6abd9e16b7fffd832b17895c26f9b6bcce2b828c9e08354177", "fetched_at": "2026-08-28T04:05:11.982598+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Finbuckle/Finbuckle.MultiTenant"}, {"content_hash": "4886c1ba43e5fc74fcc57cd7392f5f9fc87414f24c1c13580a4947d9cd23bc41", "fetched_at": "2026-08-29T11:22:32.001914+00:00", "kind": "homepage", "missing": false, "url": "https://www.finbuckle.com/MultiTenant"}, {"content_hash": "a80915e396c8fa7599d58bf499758ad0fc724f8516f41d3a7752be2ed18443b4", "fetched_at": "2026-08-29T11:22:32.011578+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/MultiTenant/Docs"}, {"content_hash": "60d205856816a2f5bfcd8dd5822503de8a8b7675470c5b86ad4e8b492b3d8067", "fetched_at": "2026-08-29T11:22:32.013893+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/CoreConcepts"}, {"content_hash": "6ed1f5ceee6e056bcaa85c76fad620749f5484790cb60ae823c05f84567a6fa4", "fetched_at": "2026-08-29T11:22:32.015752+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Strategies"}, {"content_hash": "5eb08235d2af40e89ac30288f572d410eb07ae6d1ae5ae98e9ebad2056d20c0b", "fetched_at": "2026-08-29T11:22:32.017824+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Stores"}, {"content_hash": "08b8ecbe433037df11c6caf7aa15320ad18d7ba7fccd4a663541b6a4d9c708ab", "fetched_at": "2026-08-29T11:22:32.019679+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/ConfigurationAndUsage"}, {"content_hash": "bef064c21b7194e3d2759abb3200a2715927d2030d6fd9426e7f07f7f72baaee", "fetched_at": "2026-08-29T11:22:32.021485+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/AspNetCore"}, {"content_hash": "f5631b92e0f8cfd2e193606d83b9498e4f85d8d4398a4c9684dff4b62bcf96a2", "fetched_at": "2026-08-29T11:22:32.023637+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Options"}, {"content_hash": "94455d4df420c70693939bfa1d2e02571eaf8036634186195d949da64f5fba6c", "fetched_at": "2026-08-29T11:22:32.025691+00:00", "kind": "site_page", "missing": false, "url": "https://www.finbuckle.com/multitenant/docs/Authentication"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 97}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3288, "days_push": 13, "days_rel": 22, "gap_med": 1, "n_releases_24m": 56}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}