{
  "schemaVersion": "1.0",
  "datasetYear": 2025,
  "manifestGeneratedDeterministically": true,
  "reviewStatus": {
    "status": "engineering-assurance-reviewed",
    "reviewedOn": "2026-08-27",
    "reviewedFor": [
      "artifact integrity",
      "official-source lineage",
      "coverage counts",
      "declared source conflicts"
    ],
    "legalCertification": false,
    "professionalReviewRequired": true,
    "statement": "This manifest records reproducibility and engineering review. It is not a tax ruling, certified tax-return calculation, or guarantee of an authority assessment."
  },
  "artifacts": {
    "municipalityTaxMultipliers": {
      "path": "public/data/tax-data-ch.json",
      "sha256": "d8f2cdb29d2b6ff025b86d1e81d434fdbca3b8a4f668f2352ac03660fd435247",
      "taxYear": 2025,
      "recordCounts": {
        "municipalities": 2121
      },
      "officialSourceUrls": [
        "https://swisstaxcalculator.estv.admin.ch/delegate/ost-integration/v1/lg-proxy/operation/c3b67379_ESTV/API_exportManySimpleRates"
      ],
      "provenanceStatus": "official-pinned-2025-api-snapshot",
      "reproducibilityStatus": "byte-reproducible-from-pinned-source"
    },
    "cantonalWealthTariffs": {
      "path": "public/data/base-tax-ch.json",
      "sha256": "d5efbbdc560326a407cc3754b460a6ac1f4d7b92afd4586a4303d2f393d6bcf2",
      "taxYear": 2025,
      "recordCounts": {
        "cantons": 26
      },
      "officialSourceUrls": [
        "https://bdlf.fr.ch/api/fr/versions/8109/pdf_file_with_annexes",
        "https://www.estv.admin.ch/en/tax-multipliers-deductions-and-tax-rates",
        "https://www.ge.ch/document/42267/telecharger",
        "https://www.vd.ch/fileadmin/user_upload/organisation/dfin/aci/fichiers_pdf/21001_2025.pdf"
      ],
      "provenanceStatus": "official-2025-source-with-reviewed-law-pinned-overrides",
      "reproducibilityStatus": "byte-reproducible-from-versioned-workbooks"
    },
    "cantonalAndFederalIncomeTariffs": {
      "path": "public/data/income-base-tax-ch.json",
      "sha256": "be021e985e6a4238c50de07c38a75450db763449c6cb5211c45c0f6f385b0a05",
      "taxYear": 2025,
      "recordCounts": {
        "cantons": 26,
        "confederation": 1
      },
      "officialSourceUrls": [
        "https://bdlf.fr.ch/app/fr/texts_of_law/631.1/art/37",
        "https://bl.clex.ch/data/331/de/art36",
        "https://geo.vs.ch/documents/508074/628286/Calcul_COM_site_FR.pdf/22b1b25c-608c-2163-17a2-4d616b786ab0?t=1735910254984",
        "https://gesetze.gl.ch/api/de/versions/2515/pdf_file",
        "https://gesetzessammlungen.ag.ch/app/de/texts_of_law/651.111/versions/3705",
        "https://lex.vs.ch/api/fr/versions/3446/pdf_file_with_annexes",
        "https://m3.ti.ch/CAN/RLeggi/public/index.php/index/nuovafinestra/atto/580/volume/6%20FINANZE/numLegge/640.100",
        "https://rechtsbuch.sh.ch/api/de/versions/2022/pdf_file_with_annexes",
        "https://rechtsbuch.ur.ch/app/de/texts_of_law/3.2211/versions/98",
        "https://rsn.ne.ch/DATA/program/books/RSN2024/20241/pdf/631.0.pdf",
        "https://swisstaxcalculator.estv.admin.ch/delegate/ost-integration/v1/lg-proxy/operation/c3b67379_ESTV/API_calculateSimpleTaxes",
        "https://taxcalculator.apps.vs.ch/svc/api/v1/parameters/municipalities?date=2025-12-31",
        "https://www.ag.ch/media/kanton-aargau/dfr/dokumente/steuern/natuerliche-personen/steuerberechnung-tarife-natuerliche-personen/einkommenssteuertarif-2025.pdf",
        "https://www.baselland.ch/politik-und-behorden/direktionen/finanz-und-kirchendirektion/steuerverwaltung/steuerzahlungen/tarife-1/tarife-pdf/tarife-staatssteuer-2025.pdf",
        "https://www.estv.admin.ch/dam/de/sd-web/ZbaRlMm2u6u2/dbst-tarife-58c-2025-de.pdf",
        "https://www.estv.admin.ch/en/tax-multipliers-deductions-and-tax-rates",
        "https://www.fr.ch/document/491766",
        "https://www.ge.ch/document/42267/telecharger",
        "https://www.gl.ch/public/upload/assets/58378/001%20Einkommenstarif%20ab%202025.pdf?fp=2",
        "https://www.ne.ch/sites/default/files/2025-07/SCCO_bareme_revenu_PP_2024.pdf",
        "https://www.sz.ch/finanzdepartement/steuerverwaltung/natuerliche-personen/steuerberechnung/besteuerung-natuerlicher-personen-kanton.html/8756-8758-8802-10332-10354-10376-10411-10414",
        "https://www.vd.ch/fileadmin/user_upload/organisation/dfin/aci/fichiers_pdf/21001_2025.pdf",
        "https://www.vd.ch/gc/seances-du-grand-conseil/point-seance/point/119f5484-3f79-44b4-afb5-23efd4e9ae4d/meeting/1026870",
        "https://www.vs.ch/documents/508074/628286/Coefficients_Indexations_Communes_2022-2027.pdf/53d0770a-3e87-6d30-03d7-011ca4c7a3e0"
      ],
      "provenanceStatus": "official-2025-source-with-reviewed-law-pinned-overrides",
      "reproducibilityStatus": "byte-reproducible-from-versioned-workbooks"
    },
    "municipalityGeometry": {
      "path": "public/data/ch-municipalities.geojson",
      "sha256": "b2ecb9e7be17fb9038ef1551ffb425b0e3fdaef0c35513d82466192dca140b14",
      "taxYear": 2025,
      "recordCounts": {
        "allFeatures": 2147,
        "swissTaxMunicipalities": 2121,
        "supportingFeatures": 26
      },
      "officialSourceUrls": [
        "https://data.geo.admin.ch/ch.swisstopo.swissboundaries3d/swissboundaries3d_2025-01/swissboundaries3d_2025-01_2056_5728.shp.zip"
      ],
      "provenanceStatus": "official-pinned-2025-01-snapshot",
      "reproducibilityStatus": "byte-reproducible-from-pinned-source"
    },
    "cantonGeometry": {
      "path": "public/data/ch-cantons.geojson",
      "sha256": "88f06cdd0bbeb2e7817bfc4359c276d3c88985eff6514b43971ee63b6b59e893",
      "taxYear": 2025,
      "recordCounts": {
        "cantons": 26
      },
      "officialSourceUrls": [
        "https://data.geo.admin.ch/ch.swisstopo.swissboundaries3d/swissboundaries3d_2025-01/swissboundaries3d_2025-01_2056_5728.shp.zip"
      ],
      "provenanceStatus": "official-pinned-2025-01-snapshot",
      "reproducibilityStatus": "byte-reproducible-from-pinned-source"
    },
    "healthInsuranceBenchmarks": {
      "path": "public/data/health-insurance-2025.json",
      "sha256": "2d5b72379af8429c6dc5bd49c75d1bdda98b1678e53192f6381feb010694d049",
      "taxYear": 2025,
      "recordCounts": {
        "cantons": 26
      },
      "officialSourceUrls": [
        "https://www.bag.admin.ch/en/health-insurance-comparison-of-premiums",
        "https://www.bag.admin.ch/dam/de/sd-web/ur7sNUKLCRKd/kantonale%20monatliche%20durchschnittliche%20Pr%C3%A4mie_PG2026.pdf"
      ],
      "provenanceStatus": "official-2025-manually-curated-benchmark-profile",
      "reproducibilityStatus": "manually-curated-current-artifact-hash-only"
    },
    "insurancePremiumDeductions": {
      "path": "public/data/insurance-premium-deductions-2025.json",
      "sha256": "6a843072d5884a2d27914313c9f1415ee16b484162ebc7e50151b2fd63c6fac5",
      "taxYear": 2025,
      "recordCounts": {
        "cantons": 26,
        "confederation": 1
      },
      "officialSourceUrls": [
        "https://geo.vs.ch/documents/d/scc/guide_simplifie_2025_f",
        "https://gesetze.gl.ch/app/de/change_documents/633",
        "https://www.estv.admin.ch/dam/fr/sd-web/3onclw5FMJpu/02a-2025-fr.pdf",
        "https://www.estv2.admin.ch/stp/kb/ag-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/ai-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/ar-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/bl-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/bs-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/gl-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/gr-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/lu-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/ne-fr.pdf",
        "https://www.estv2.admin.ch/stp/kb/nw-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/ow-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/sg-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/sh-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/so-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/tg-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/ti-it.pdf",
        "https://www.estv2.admin.ch/stp/kb/ur-de.pdf",
        "https://www.estv2.admin.ch/stp/kb/vd-fr.pdf",
        "https://www.estv2.admin.ch/stp/kb/zh-de.pdf",
        "https://www.estv2.admin.ch/stp/sm/versicherungspraemien-zinsen-de-fr.pdf",
        "https://www.fr.ch/media/57721",
        "https://www.ge.ch/document/41995/annexe/file/573038",
        "https://www.jura.ch/Htdocs/Files/v/81cc78891c5f1637d43c7c3fa46061ce931b57ab3a48c0e43a09d8c662c2395d.pdf",
        "https://www.sz.ch/public/upload/assets/84441/B_Steuergesetzteilrevision_2026.pdf?fp=1",
        "https://www.taxinfo.sv.fin.be.ch/taxinfo/fb35fd5b-0bd3-46c6-a28c-1656bec91f3b",
        "https://zg.ch/dam/jcr%3A17c572af-908f-43a5-96b0-0fd25983f924/Wegleitung_2025_StKtZug_A4_20251119.pdf"
      ],
      "provenanceStatus": "official-2025-manually-curated-with-reviewed-law-pinned-overrides",
      "reproducibilityStatus": "manually-curated-current-artifact-hash-only"
    },
    "selfEmployedSocialContributionTable": {
      "path": "src/self-employed-avs-table-2025.js",
      "sha256": "49f9f4e5b572b0abe4846af0f49d7fe0448208c6e7258f6063d3275ec58d0ff5",
      "taxYear": 2025,
      "recordCounts": {
        "rowCount": 1644,
        "firstIncomeChf": 10100,
        "lastIncomeChf": 174400,
        "incomeStepChf": 100
      },
      "officialSourceUrls": [
        "https://sozialversicherungen.admin.ch/de/d/6139/download"
      ],
      "provenanceStatus": "official-pinned-2025-table",
      "reproducibilityStatus": "byte-reproducible-from-pinned-source"
    }
  },
  "pinnedSourceInputs": {
    "municipalityTaxMultiplierSnapshot": {
      "path": "data/sources/estv-municipal-rates-2025.json.gz",
      "url": "https://swisstaxcalculator.estv.admin.ch/delegate/ost-integration/v1/lg-proxy/operation/c3b67379_ESTV/API_exportManySimpleRates",
      "request": {
        "SimKey": null,
        "TaxYear": 2025,
        "TaxGroupID": 99
      },
      "sha256": "40e82059eaa1d8b5cf333a86f1cf02bccd42ed6ff207bbded69ffc968d44cccd",
      "compression": "gzip",
      "responseRecords": 2121
    },
    "wealthTariffWorkbooks": {
      "directory": "CANTON_TAX_RATES",
      "fileCount": 26,
      "inventorySha256": "b77fbcdfeea1789618b05f258a502c1082ec74c0462be8e8f4df77857a921eb6",
      "inventoryHashMethod": "sha256(relative-path + NUL + file-sha256 + LF), sorted by file name",
      "officialSourceUrl": "https://www.estv.admin.ch/en/tax-multipliers-deductions-and-tax-rates"
    },
    "incomeTariffWorkbooks": {
      "directory": "INCOME_TAX_RATES",
      "fileCount": 27,
      "inventorySha256": "644fcc01263259cc42a40b8d116cb3590e00d7bc0013cc51769e747c4ccd544a",
      "inventoryHashMethod": "sha256(relative-path + NUL + file-sha256 + LF), sorted by file name",
      "officialSourceUrl": "https://www.estv.admin.ch/en/tax-multipliers-deductions-and-tax-rates"
    },
    "swissboundaries3dArchive": {
      "edition": "2025-01",
      "url": "https://data.geo.admin.ch/ch.swisstopo.swissboundaries3d/swissboundaries3d_2025-01/swissboundaries3d_2025-01_2056_5728.shp.zip",
      "sha256": "3c0e0bd73fe32e4fa6a103ae5e4d008466b52eeaa2d00e7ab42aa2a453c2cc5a"
    },
    "selfEmployedAvsAiApgTable": {
      "title": "AHV/IV/EO contribution tables, valid from 1 January 2025",
      "url": "https://sozialversicherungen.admin.ch/de/d/6139/download",
      "sha256": "cc98ff5562081466ffdc98765e7e4719330037d75da3857989d6dc0d7be6feb0",
      "pages": "6-22"
    }
  },
  "sourceConflictReview": [
    {
      "canton": "AG",
      "classification": "manual-review-controlled-override",
      "scope": "income simple-tax whole-franc rounding",
      "conflict": "The ESTV calculator projects the unrounded simple tax to the nearest whole franc, while Aargau StGV section 29 and the official 2025 tariff require rounding down.",
      "resolution": "aargau-2025-tariff-and-ordinance-pinned",
      "manualReviewTrigger": "any tariff-year or upstream calculator change",
      "officialSourceUrls": [
        "https://www.ag.ch/media/kanton-aargau/dfr/dokumente/steuern/natuerliche-personen/steuerberechnung-tarife-natuerliche-personen/einkommenssteuertarif-2025.pdf",
        "https://gesetzessammlungen.ag.ch/app/de/texts_of_law/651.111/versions/3705",
        "https://swisstaxcalculator.estv.admin.ch/delegate/ost-integration/v1/lg-proxy/operation/c3b67379_ESTV/API_calculateSimpleTaxes"
      ]
    },
    {
      "canton": "BL",
      "classification": "manual-review-controlled-override",
      "scope": "income-tax top-segment formula origin",
      "conflict": "The ESTV 2025 export retained CHF 1,265,000; the indexed 2025 Basel-Landschaft tariff starts the segment at CHF 1,281,587.",
      "resolution": "law-and-2025-tariff-pinned",
      "activeValueChf": 1281587,
      "manualReviewTrigger": "any tariff-year or upstream workbook change",
      "officialSourceUrls": [
        "https://bl.clex.ch/data/331/de/art36",
        "https://www.baselland.ch/politik-und-behorden/direktionen/finanz-und-kirchendirektion/steuerverwaltung/steuerzahlungen/tarife-1/tarife-pdf/tarife-staatssteuer-2025.pdf"
      ]
    },
    {
      "canton": "FR",
      "classification": "manual-review-controlled-override",
      "scope": "wealth-tax cumulative formula origins",
      "conflict": "The ESTV workbook uses statutory band labels ending in CHF 1 as formula origins instead of the cumulative LICD Art. 62 anchors.",
      "resolution": "fribourg-statute-pinned",
      "manualReviewTrigger": "any tariff-year or upstream workbook change",
      "officialSourceUrls": [
        "https://bdlf.fr.ch/api/fr/versions/8109/pdf_file_with_annexes"
      ]
    },
    {
      "canton": "GE",
      "classification": "manual-review-controlled-override",
      "scope": "income-tax cumulative base anchors",
      "conflict": "Six ESTV workbook anchors are CHF 0.05 below the official Geneva 2025 cantonal tariff.",
      "resolution": "cantonal-2025-tariff-pinned",
      "manualReviewTrigger": "any tariff-year or upstream workbook change",
      "officialSourceUrls": [
        "https://www.ge.ch/document/42267/telecharger"
      ]
    },
    {
      "canton": "GL",
      "classification": "manual-review-controlled-override",
      "scope": "income-tax expanded display table",
      "conflict": "The canton display table differs from the enacted 2025 KVKP bases and the ESTV calculator at several grid points.",
      "resolution": "glarus-law-and-official-calculator-pinned",
      "manualReviewTrigger": "any tariff-year or upstream source change",
      "officialSourceUrls": [
        "https://gesetze.gl.ch/api/de/versions/2515/pdf_file",
        "https://www.gl.ch/public/upload/assets/58378/001%20Einkommenstarif%20ab%202025.pdf?fp=2"
      ]
    },
    {
      "canton": "GL",
      "classification": "manual-review-controlled-override",
      "scope": "married insurance-premium deduction",
      "conflict": "The FTA 2025 comparison reports CHF 6,100, while enacted Glarus Art. 31(1)(7), effective 1 January 2025, sets CHF 6,200.",
      "resolution": "glarus-2025-law-pinned",
      "activeValueChf": 6200,
      "manualReviewTrigger": "any deduction-year or upstream source change",
      "officialSourceUrls": [
        "https://gesetze.gl.ch/app/de/change_documents/633",
        "https://www.estv2.admin.ch/stp/kb/gl-de.pdf"
      ]
    },
    {
      "canton": "NE",
      "classification": "manual-review-controlled-override",
      "scope": "income-tax inclusive categories and CHF 100 grids",
      "conflict": "The ESTV lower-bound export loses the inclusive upper-bound semantics published by Neuchatel.",
      "resolution": "neuchatel-law-and-detailed-tariff-pinned",
      "manualReviewTrigger": "any tariff-year or upstream source change",
      "officialSourceUrls": [
        "https://rsn.ne.ch/DATA/program/books/RSN2024/20241/pdf/631.0.pdf",
        "https://www.ne.ch/sites/default/files/2025-07/SCCO_bareme_revenu_PP_2024.pdf"
      ]
    },
    {
      "canton": "TI",
      "classification": "manual-review-controlled-override",
      "scope": "income-tax thresholds and CHF 58,200 single-person segment",
      "conflict": "The ESTV workbook snapshot is shifted by CHF 100 at most thresholds and contains a malformed CHF 58,200 segment.",
      "resolution": "ticino-statute-pinned",
      "manualReviewTrigger": "any tariff-year or upstream workbook change",
      "officialSourceUrls": [
        "https://m3.ti.ch/CAN/RLeggi/public/index.php/index/nuovafinestra/atto/580/volume/6%20FINANZE/numLegge/640.100"
      ]
    },
    {
      "canton": "UR",
      "classification": "manual-review-controlled-override",
      "scope": "income taxable-base CHF 100 grid",
      "conflict": "The ESTV calculator changes the simple tax within a CHF 100 taxable-income interval, while Uri StG Art. 40(2) requires taxable income to be rounded down to CHF 100.",
      "resolution": "uri-income-tax-law-pinned",
      "manualReviewTrigger": "any tariff-year or upstream calculator change",
      "officialSourceUrls": [
        "https://rechtsbuch.ur.ch/app/de/texts_of_law/3.2211/versions/98",
        "https://swisstaxcalculator.estv.admin.ch/delegate/ost-integration/v1/lg-proxy/operation/c3b67379_ESTV/API_calculateSimpleTaxes"
      ]
    },
    {
      "canton": "VD",
      "classification": "manual-review-controlled-override",
      "scope": "wealth-tax first cumulative formula origins",
      "conflict": "The ESTV workbook uses CHF 59,999/119,999 band labels where the official instructions establish CHF 60,000/120,000 origins.",
      "resolution": "vaud-2025-instructions-pinned",
      "manualReviewTrigger": "any tariff-year or upstream workbook change",
      "officialSourceUrls": [
        "https://www.vd.ch/fileadmin/user_upload/organisation/dfin/aci/fichiers_pdf/21001_2025.pdf"
      ]
    }
  ],
  "roundingRuleReview": {
    "officialCalculatorOracleUrl": "https://swisstaxcalculator.estv.admin.ch/delegate/ost-integration/v1/lg-proxy/operation/c3b67379_ESTV/API_calculateSimpleTaxes",
    "ordinaryWealthTaxableBaseChf1000Down": {
      "independentlyStatuteOrInstructionConfirmedCantons": [
        "AG",
        "AI",
        "AR",
        "BE",
        "BS",
        "FR",
        "GL",
        "LU",
        "NE",
        "NW",
        "OW",
        "SG",
        "SH",
        "SZ",
        "TI",
        "UR",
        "VD",
        "VS",
        "ZG"
      ],
      "officialCalculatorGridSupportedCantons": [
        "BL",
        "GR",
        "JU",
        "TG",
        "ZH"
      ],
      "perFrancCantons": [
        "GE",
        "SO"
      ],
      "applicationStage": "After the standard personal deduction and before ordinary wealth-tariff evaluation; the unrounded net/taxable wealth is preserved separately for legal-limit denominators."
    },
    "incomeTaxableBaseChf100Down": {
      "officialCalculatorObservedCantons": [
        "AG",
        "AI",
        "AR",
        "BE",
        "BS",
        "FR",
        "GL",
        "JU",
        "LU",
        "NE",
        "NW",
        "OW",
        "SG",
        "SH",
        "SZ",
        "TG",
        "TI",
        "VD",
        "VS",
        "ZG",
        "ZH"
      ],
      "statuteConfirmedOfficialCalculatorConflictCantons": [
        "UR"
      ],
      "perFrancOrOtherGridCantons": [
        "BL",
        "GE",
        "GR",
        "SO"
      ]
    },
    "finalAuthorityComponentRounding": {
      "incomePrimarySourcePinnedCantons": [
        "FR",
        "GE",
        "SZ",
        "TI",
        "VD",
        "VS"
      ],
      "incomeManualReviewCantons": [
        "AG",
        "AI",
        "AR",
        "BE",
        "BL",
        "BS",
        "GL",
        "GR",
        "JU",
        "LU",
        "NE",
        "NW",
        "OW",
        "SG",
        "SH",
        "SO",
        "TG",
        "UR",
        "ZG",
        "ZH"
      ],
      "wealthPrimarySourcePinnedCantons": [
        "GE"
      ],
      "wealthManualReviewCantons": [
        "AG",
        "AI",
        "AR",
        "BE",
        "BL",
        "BS",
        "FR",
        "GL",
        "GR",
        "JU",
        "LU",
        "NE",
        "NW",
        "OW",
        "SG",
        "SH",
        "SO",
        "SZ",
        "TG",
        "TI",
        "UR",
        "VD",
        "VS",
        "ZG",
        "ZH"
      ],
      "boundary": "The official ESTV calculator's whole-franc projections are an external oracle, not evidence of a universal legal rounding stage. Unlisted authority-component rules require primary-source review before professional reliance on exact final francs."
    }
  },
  "knownAssuranceBoundaries": [
    "Hash and count checks prove which checked-in artifacts were used; they do not independently prove every tax result.",
    "The calculator models the published 2025 scope and disclosed assumptions; facts outside that scope require professional review.",
    "Source conflicts are explicit controlled overrides and must be reviewed again before a tariff-year or upstream-source update.",
    "Legal or administrative changes published after the recorded source snapshot are not detected automatically.",
    "For BL, GR, JU, TG and ZH, the CHF 1,000 wealth-base grid is supported by the official calculator oracle but was not separately certified from primary cantonal law during this review.",
    "Exact final canton/commune component rounding is primary-source pinned only for the cantons listed in roundingRuleReview; all other cantons require manual review before professional reliance on the last francs of a result."
  ]
}
