{
	"schema_version": 1,
	"captured_at": "2026-08-24T09:50:00+02:00",
	"country": "FR",
	"sources": {
		"provider_shares": "https://api.peppolstatus.com/v1/stats/countries/FR/providers",
		"participants": "https://api.peppolstatus.com/v1/stats/participants",
		"hosts": "https://api.peppolstatus.com/v1/hosts/{hostname}",
		"network_registry": "https://stat.ripe.net/"
	},
	"denominators": {
		"country_participant_ids": 2270773,
		"participant_ids_with_resolved_access_point": 2207095,
		"participant_ids_outside_provider_distribution": 63678,
		"unresolved_share_percent": 2.8
	},
	"providers": [
		{
			"name": "Pennylane",
			"participant_ids": 735445,
			"resolved_share_percent": 33.32,
			"seat_id": "POP000748",
			"endpoint": "pdp.pennylane.com",
			"observed_signal": "Cloudflare edge; origin masked",
			"evidence": "Cloudflare Anycast addresses 104.18.24.229 and 104.18.25.229"
		},
		{
			"name": "Qonto",
			"participant_ids": 314194,
			"resolved_share_percent": 14.24,
			"seat_id": "POP000727",
			"endpoint": "qonto-pdp.production.qonto-snc.co",
			"observed_signal": "S3NS network",
			"evidence": "PTR 177-222-75-191.bc.s3nsusercontent.fr; AS203532"
		},
		{
			"name": "Serensia",
			"participant_ids": 271351,
			"resolved_share_percent": 12.29,
			"seat_id": "POP000729",
			"endpoint": "api.pa.serensia.quadientcloud.com",
			"observed_signal": "S3NS network",
			"evidence": "95.111.136.3; RIPE netname FR-S3NS-20081230; AS203532"
		},
		{
			"name": "jefacture (Unifiedpost x ECMA)",
			"participant_ids": 269737,
			"resolved_share_percent": 12.22,
			"seat_id": "POP000730",
			"endpoint": "api.btx.fr.banqup.com",
			"observed_signal": "Google Cloud network",
			"evidence": "PTR 78.210.36.34.bc.googleusercontent.com; AS396982"
		},
		{
			"name": "Indy",
			"participant_ids": 173157,
			"resolved_share_percent": 7.85,
			"seat_id": "PFR000964",
			"endpoint": "indy.peppolint.tech",
			"observed_signal": "Cloud Temple-maintained network",
			"evidence": "93.187.41.220; RIPE maintainer CLOUD-TEMPLE-MTN; AS33930"
		},
		{
			"name": "Sovos Saphety",
			"participant_ids": 117035,
			"resolved_share_percent": 5.3,
			"seat_id": "POP000249",
			"endpoint": "iaas-compliance-network.sovos.com",
			"observed_signal": "AWS eu-central-1 network",
			"evidence": "PTR ec2-18-184-87-120.eu-central-1.compute.amazonaws.com; AS16509"
		},
		{
			"name": "SUPER PDP",
			"participant_ids": 62760,
			"resolved_share_percent": 2.84,
			"seat_id": "POP000771",
			"endpoint": "api.superpdp.tech",
			"observed_signal": "FBW Networks IP space",
			"evidence": "185.142.55.138; RIPE netname FR-FBW-NETWORKS-20160307; AS49434"
		},
		{
			"name": "Abby SAS",
			"participant_ids": 36942,
			"resolved_share_percent": 1.67,
			"seat_id": "PFR000998",
			"endpoint": "peppol-abby.docoon.com",
			"observed_signal": "Outscale network",
			"evidence": "PTR ows-80-247-14-210.cloudgouv-eu-west-1.compute.outscale.com; AS50624"
		},
		{
			"name": "Hubtimize",
			"participant_ids": 35947,
			"resolved_share_percent": 1.63,
			"seat_id": "POP000747",
			"endpoint": "ap.hubtimize.fr",
			"observed_signal": "AWS eu-west-3 network",
			"evidence": "PTR ec2-35-180-76-113.eu-west-3.compute.amazonaws.com; AS16509"
		},
		{
			"name": "Yooz",
			"participant_ids": 31900,
			"resolved_share_percent": 1.45,
			"seat_id": "PFR000558",
			"endpoint": "yooz-pdp.peppolint.tech",
			"observed_signal": "Cloud Temple-maintained network",
			"evidence": "93.187.41.220; RIPE maintainer CLOUD-TEMPLE-MTN; AS33930"
		},
		{
			"name": "MYUNISOFT",
			"participant_ids": 29685,
			"resolved_share_percent": 1.34,
			"seat_id": "PFR000988",
			"endpoint": "ap-peppol.myu-pa.fr",
			"observed_signal": "Outscale network",
			"evidence": "PTR ows-146-183-8-227.cloudgouv-eu-west-1.compute.outscale.com; AS50624"
		},
		{
			"name": "SEPTEO",
			"participant_ids": 15325,
			"resolved_share_percent": 0.69,
			"seat_id": "PFR000949",
			"endpoint": "peppol.pdp-esker.fr",
			"observed_signal": "Jaguar Network IP space",
			"evidence": "77.72.91.85; RIPE netname FR-JAGUAR-20070126; AS30781"
		},
		{
			"name": "IOPOLE",
			"participant_ids": 14596,
			"resolved_share_percent": 0.66,
			"seat_id": "POP000563",
			"endpoint": "peppolint.iopole.com",
			"observed_signal": "Cloud Temple-maintained network",
			"evidence": "93.187.41.220; RIPE maintainer CLOUD-TEMPLE-MTN; AS33930"
		},
		{
			"name": "DIGIPHARMACIE",
			"participant_ids": 13712,
			"resolved_share_percent": 0.62,
			"seat_id": "PFR001123",
			"endpoint": "ap.digipharmacie.fr",
			"observed_signal": "S3NS network",
			"evidence": "95.111.128.232; RIPE netname FR-S3NS-20081230; AS203532"
		},
		{
			"name": "Betao AB / Solo",
			"participant_ids": 10514,
			"resolved_share_percent": 0.48,
			"seat_id": "PSE000963",
			"endpoint": "betao.peppolint.tech",
			"observed_signal": "Cloud Temple-maintained network",
			"evidence": "93.187.41.220; RIPE maintainer CLOUD-TEMPLE-MTN; AS33930"
		}
	],
	"derived_groups": [
		{
			"label": "Cloudflare edge; origin masked",
			"resolved_share_percent": 33.32,
			"providers": ["Pennylane"]
		},
		{
			"label": "S3NS network",
			"resolved_share_percent": 27.15,
			"providers": ["Qonto", "Serensia", "DIGIPHARMACIE"]
		},
		{
			"label": "Google Cloud network",
			"resolved_share_percent": 12.22,
			"providers": ["jefacture (Unifiedpost x ECMA)"]
		},
		{
			"label": "Cloud Temple-maintained network",
			"resolved_share_percent": 10.44,
			"providers": ["Indy", "Yooz", "IOPOLE", "Betao AB / Solo"]
		},
		{
			"label": "AWS network directly visible",
			"resolved_share_percent": 6.93,
			"providers": ["Sovos Saphety", "Hubtimize"]
		},
		{
			"label": "Other IP space attributed to French operators",
			"resolved_share_percent": 3.53,
			"providers": ["SUPER PDP", "SEPTEO"]
		},
		{
			"label": "Outscale network",
			"resolved_share_percent": 3.01,
			"providers": ["Abby SAS", "MYUNISOFT"]
		},
		{
			"label": "Unclassified long tail",
			"resolved_share_percent": 3.4,
			"providers": []
		}
	],
	"methodology_notes": [
		"Shares are weighted by Peppol participant identifiers, not companies, invoices, revenue, storage volume, or traffic.",
		"Network attribution identifies the public endpoint facade only. It does not prove origin compute, storage location, contractual cloud offer, data jurisdiction, or SecNumCloud qualification.",
		"Percentages are rounded to two decimals; displayed groups use rounded provider shares."
	]
}
