{"version":3,"file":"StackSecretAge.BFMSEcoj.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/DrJpNIZL1u4H1yTom8fr/018OQMWr1vvaCcsQWPIR/StackSecretAge.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState}from\"react\";/**\n * How old each live credential was on the day we verified it, split by the\n * GitHub secret scanning milestone it survived.\n *\n * @framerIntrinsicWidth 900\n * @framerIntrinsicHeight 520\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function StackSecretAge(props){const{paper,ink,accent,marker}=props;const[sel,setSel]=useState(1);const era=ERAS[sel];return /*#__PURE__*/_jsxs(\"div\",{style:{...WRAP,background:paper,color:ink},children:[/*#__PURE__*/_jsx(Topo,{ink:ink}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...EYEBROW,color:accent},children:\"Verified live \\xb7 27 to 28 July 2026\"}),/*#__PURE__*/_jsx(\"h3\",{style:TITLE,children:\"Every one of these was still working when we checked\"}),/*#__PURE__*/_jsxs(\"div\",{style:STATROW,children:[/*#__PURE__*/_jsx(Stat,{ink:ink,accent:accent,value:\"784\",label:\"days, median age\"}),/*#__PURE__*/_jsx(Stat,{ink:ink,accent:accent,value:\"6.3\",label:\"years, 90th percentile\"}),/*#__PURE__*/_jsx(Stat,{ink:ink,accent:accent,value:\"16.1\",label:\"years, oldest\"}),/*#__PURE__*/_jsx(Stat,{ink:ink,accent:accent,value:\"543,699\",label:\"live credentials dated\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{...EYEBROW,color:accent,marginTop:30},children:\"Grouped by the protection in place when they leaked\"}),/*#__PURE__*/_jsx(\"div\",{style:BARS,children:ERAS.map((e,i)=>{const pct=e.secrets/TOTAL*100;const on=i===sel;return /*#__PURE__*/_jsxs(\"button\",{onClick:()=>setSel(i),onMouseEnter:()=>setSel(i),style:{...BARBTN,borderColor:on?ink:\"transparent\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:BARTOP,children:[/*#__PURE__*/_jsx(\"span\",{style:{fontWeight:800,fontSize:15},children:e.secrets.toLocaleString()}),/*#__PURE__*/_jsxs(\"span\",{style:{opacity:.6,fontSize:12},children:[pct.toFixed(1),\"%\"]})]}),/*#__PURE__*/_jsx(\"div\",{style:{...TRACK,background:hexA(ink,.1)},children:/*#__PURE__*/_jsx(\"div\",{style:{width:pct+\"%\",height:\"100%\",background:i===2?marker:accent,borderRadius:3}})}),/*#__PURE__*/_jsx(\"div\",{style:BARLABEL,children:e.short})]},e.id);})}),/*#__PURE__*/_jsxs(\"div\",{style:{...PANEL,borderColor:hexA(ink,.2)},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:800,fontSize:15,marginBottom:6},children:era.title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:14,lineHeight:1.6,opacity:.85},children:era.body})]}),/*#__PURE__*/_jsx(\"p\",{style:NOTE,children:\"Age is measured from the last modification of the file holding the credential to the day it was verified. The Stack v3 keeps no commit history, so this is the closest available leak date.\"})]})]});}function Stat({value,label,accent}){return /*#__PURE__*/_jsxs(\"div\",{style:{minWidth:120},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:34,fontWeight:800,lineHeight:1,color:accent},children:value}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11.5,letterSpacing:\"0.05em\",opacity:.72,marginTop:7},children:label})]});}function hexA(hex,a){const h=hex.replace(\"#\",\"\");const n=parseInt(h.length===3?h.split(\"\").map(c=>c+c).join(\"\"):h,16);return`rgba(${n>>16&255}, ${n>>8&255}, ${n&255}, ${a})`;}function Topo({ink}){return /*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":true,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",opacity:.06},preserveAspectRatio:\"none\",viewBox:\"0 0 900 520\",children:Array.from({length:10}).map((_,i)=>/*#__PURE__*/_jsx(\"path\",{d:`M -40 ${30+i*54} C 200 ${4+i*54}, 340 ${92+i*54}, 540 ${46+i*54} S 870 ${12+i*54}, 960 ${58+i*54}`,fill:\"none\",stroke:ink,strokeWidth:1.1},i))});}const TOTAL=543699;const ERAS=[{id:\"before\",secrets:245959,short:\"Before alerts were free (to Feb 2023)\",title:\"245,959 leaked before GitHub scanned public repos for free\",body:\"These predate February 2023, when secret scanning alerts became free on every public repository. They have been sitting in default branches ever since, and they still authenticate.\"},{id:\"between\",secrets:97897,short:\"Alerts and push protection available (Feb 2023 to Feb 2024)\",title:\"97,897 leaked while scanning was free but opt-in\",body:\"Alerts were free and push protection was available for any maintainer who switched it on. These credentials were committed anyway, and nothing revoked them in the years that followed.\"},{id:\"after\",secrets:199843,short:\"Push protection on by default (Feb 2024 onward)\",title:\"199,843 leaked after push protection became the default\",body:\"From 29 February 2024 GitHub blocks pushes containing recognised secrets on public repositories by default. More than a third of everything we found is newer than that date. Whatever the block catches, this is what it did not.\"}];const FONT=`\"National Park\", \"NationalPark\", Inter, \"Helvetica Neue\", Helvetica, Arial, sans-serif`;const WRAP={position:\"relative\",overflow:\"hidden\",fontFamily:FONT,borderRadius:14,padding:\"28px 28px 22px\",width:\"100%\",boxSizing:\"border-box\"};const EYEBROW={fontSize:11,letterSpacing:\"0.14em\",textTransform:\"uppercase\",fontWeight:700,marginBottom:8};const TITLE={margin:\"0 0 22px\",fontSize:23,lineHeight:1.2,fontWeight:800,maxWidth:560};const STATROW={display:\"flex\",flexWrap:\"wrap\",gap:34,alignItems:\"flex-start\"};const BARS={display:\"flex\",flexDirection:\"column\",gap:4,marginTop:12};const BARBTN={appearance:\"none\",background:\"transparent\",textAlign:\"left\",fontFamily:FONT,color:\"inherit\",cursor:\"pointer\",border:\"1.5px solid transparent\",borderRadius:10,padding:\"11px 12px\",display:\"block\",width:\"100%\"};const BARTOP={display:\"flex\",alignItems:\"baseline\",gap:9,marginBottom:7};const TRACK={height:9,borderRadius:3,overflow:\"hidden\"};const BARLABEL={fontSize:12,opacity:.75,marginTop:8};const PANEL={marginTop:18,padding:\"16px 18px\",borderRadius:10,border:\"1px solid\"};const NOTE={fontSize:12,opacity:.62,margin:\"16px 0 0\",lineHeight:1.5};StackSecretAge.defaultProps={paper:\"#F2E5DF\",ink:\"#172E29\",accent:\"#39604B\",marker:\"#E77543\"};addPropertyControls(StackSecretAge,{paper:{type:ControlType.Color,title:\"Paper\",defaultValue:\"#F2E5DF\"},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#172E29\"},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#39604B\"},marker:{type:ControlType.Color,title:\"Post-default\",defaultValue:\"#E77543\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StackSecretAge\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"520\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"900\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StackSecretAge.map"],"mappings":"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"}