{"id":"ag_n935n849g8xs","handle":"sqlguard-permission-before-production-writes","kinds":["status_changed","tool_surface_observed","tool_surface_changed","endpoint_added","ownership_changed","ownership_contested","auth_posture_changed","tls_changed","record_split","split_from"],"count":3,"events":[{"id":"ev_a4jtfyz6bf79","kind":"tls_changed","at":"2026-09-27T19:27:25.464Z","endpointId":"ep_psr2b3yhamfw","before":{"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"subject":"sqlguard.io","validTo":"2026-10-26T03:12:45.000Z","protocol":"TLSv1.3","chainError":null,"chainValid":true,"hostMatches":true,"fingerprint256":"D9:DB:C0:76:D3:D9:19:BC:59:96:04:89:7E:40:AD:85:22:9F:F7:48:07:03:4C:6E:58:EB:E2:54:E1:C4:59:E1"},"after":{"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"subject":"sqlguard.io","validTo":"2026-12-25T23:36:05.000Z","protocol":"TLSv1.3","chainError":null,"chainValid":true,"hostMatches":true,"fingerprint256":"78:50:44:13:BA:B9:F0:6B:01:DC:39:A2:54:8E:07:FA:B2:C1:E3:1D:69:DD:F1:98:84:82:10:76:49:2B:1F:C2"},"observationId":"ob_mgp4jahhrafw","claimId":null},{"id":"ev_s9ryy7z5j3hn","kind":"status_changed","at":"2026-09-25T07:27:02.101Z","endpointId":null,"before":{"status":"unknown"},"after":{"reason":"Responded {ok} ago.","status":"live","lastOkAt":"2026-09-25T07:26:37.628Z"},"observationId":null,"claimId":null},{"id":"ev_fv8kdtrks2mu","kind":"split_from","at":"2026-09-25T07:24:49.182Z","endpointId":null,"before":null,"after":{"from":{"id":"ag_bbzzehgq8yby","handle":"sqlguard-execution-certificate-firewall"},"listings":["mcp_registry io.sqlguard/sqlguard"],"revision":"2026-09-23-one-repository-many-servers","endpoints":["https://sqlguard-io.fly.dev/mcp/stream","https://sqlguard.io/mcp/stream"]},"observationId":null,"claimId":null}]}