# network/cert-expiry

TLS certificate has more than 21 days of validity. Reglen network/cert-expiry kører i network-scope med severity 'error' og indgår i netværk og forfald-domænet sammen med 4 andre kontrakter i frameworket.

## Hvorfor cert-expiry findes

An expired certificate takes the site to zero traffic instantly, and it is fully preventable with a scheduled check. Most ACME setups renew at 30 days — an under-21-days cert means renewal is broken.

## Sådan håndhæves cert-expiry

Reglen cert-expiry evalueres mod internettet over tid via pseo monitor på cron — den må aldrig blokere et build, for netværket er ikke deterministisk. Fejler en side, får agenten en finding, hvor fix-instruktionen for cert-expiry er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på cert-expiry fejler hele verifikationen med exit-kode 1, så hverken CI eller en agent kan skibe sitet før fundet er rettet.

## Test og fixtures

Som alle kontrakter i frameworket har network/cert-expiry en mutant-test, der beviser at reglen fejler, når kravet brydes — en regel uden en fejlende test er ikke en regel. Golden-fixturet beviser omvendt, at en fuldt compliant side består cert-expiry sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.

## Relaterede regler

- [network/external-link-liveness](https://pseo.mikkelkrogsholm.dk/regler/network/external-link-liveness/)
- [network/og-image-liveness](https://pseo.mikkelkrogsholm.dk/regler/network/og-image-liveness/)
- [network/sitemap-reality](https://pseo.mikkelkrogsholm.dk/regler/network/sitemap-reality/)
