");background-repeat:no-repeat;background-position:100% bottom;background-size:contain}.triangle{--deco-border-width:165vw;position:fixed;z-index:-2;top:0;left:0;height:0;width:0;border-style:solid;border-width:var(--deco-border-width) var(--deco-border-width) 0 0;border-color:#4f51a9 transparent transparent transparent}@media (min-width:52em){.triangle{--deco-border-width:70vw}}@media (min-width:65em){.triangle{--deco-border-width:60vw}}h2,h3,h4{font-family:Egon;font-weight:900;line-height:1;font-size:2rem;text-transform:uppercase}a{cursor:pointer;text-decoration:none}:focus{outline:0}[class*=aspect-ratio-]{display:block;position:relative}[class*=aspect-ratio-]>*{display:block}.aspect-ratio-square{padding-top:100%}.inline-link{text-decoration:underline;font-weight:700}:root{--logo-start-height:7.625rem;--deco-border-start-width:165vw}@media (min-width:52em){:root{--logo-start-height:20rem;--deco-border-start-width:120vw}}@media (min-width:65em){:root{--logo-start-height:26rem;--deco-border-start-width:130vw}}@media (min-width:120em){:root{--deco-border-start-width:110vw}}.js-active .logo{height:var(--logo-start-height)}@media (min-width:120em){.js-active .logo{transform:translateX(10rem)}}.js-active .grid{grid-template-rows:var(--logo-start-height)}.js-active .triangle{border-width:var(--deco-border-start-width) var(--deco-border-start-width) 0 0}.sr-only{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.uppercase{text-transform:uppercase}.auto-grid>*+*{margin-top:1em}@supports (display:grid) and (width:min(10px,40px)) and (color:var(--primary)){.auto-grid{--grid-size-save:min(var(--auto-grid-min-size, 16rem), 100%);display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--grid-size-save),1fr));gap:var(--auto-grid-gap-vertical,var(--auto-grid-gap,1rem)) var(--auto-grid-gap,1rem)}.auto-grid>*{margin:unset}}.cluster{overflow:hidden}.cluster>*{display:flex;align-items:center;flex-wrap:wrap;margin:-.25rem}.cluster>*>*{margin:.25rem}@media (min-width:52em){.cluster>*{margin:-.875rem}.cluster>*>*{margin:.875rem}}.double-grid-switcher>*{max-width:18rem}.double-grid-switcher>*+*{margin-top:1em}@supports (display:grid) and (width:min(10px,40px)) and (color:var(--primary)){.double-grid-switcher{--dgs-column-width:Max(
clamp(
(100% / var(--dgs-column-count-l, 4)) - var(--dgs-gap, 1rem),
(var(--dgs-threshold-l, 40rem) - 100%) * 999,
(100% / var(--dgs-column-count-m, 2)) - var(--dgs-gap, 1rem)
),
clamp(
0px,
(var(--dgs-threshold-m, 30rem) - 100%) * 999,
(100% / var(--dgs-column-count-s, 1)) - var(--dgs-gap, 1rem)
)
);display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--dgs-column-width),1fr));gap:var(--dgs-gap-vertical,var(--dgs-gap,1rem)) var(--dgs-gap,1rem)}.double-grid-switcher>*{max-width:unset;margin:unset}}.flow>*+*{margin-top:var(--flow-space,1rem)}.grid{position:relative;display:grid;gap:3.5rem 0;min-height:100vh;grid-template-columns:.5rem 1rem 1fr 1rem .5rem;grid-template-rows:auto auto 1fr}.grid .logo{grid-column-start:3;grid-column-end:3}.grid header{grid-column-start:3;grid-column-end:3}.grid main{z-index:999;grid-column-start:2;grid-column-end:-1}.grid footer{grid-column-start:3;grid-column-end:3}@media (min-width:52em){.grid{grid-template-columns:.5rem minmax(5rem,15.5rem) .5rem minmax(0,62.25rem) minmax(1.75rem,1fr) minmax(0,17.5rem) minmax(1.75rem,1fr)}.grid .logo{grid-column-start:2;grid-column-end:-1}.grid header{grid-column:2;align-self:start}.grid main{grid-column-start:4;grid-column-end:-1;padding-bottom:3rem}.grid footer{grid-column-start:2;grid-column-end:7}}@media (min-width:65em){.grid{grid-template-columns:minmax(1.75rem,1fr) minmax(10rem,17.5rem) 1.75rem minmax(0,62.25rem) minmax(1.75rem,1fr) minmax(0,17.5rem) minmax(1.75rem,1fr)}}@media (min-width:120em){.grid{grid-template-columns:minmax(1.75rem,1fr) minmax(10rem,27.5rem) 2rem minmax(0,62.25rem) minmax(2rem,1fr) minmax(0,27.5rem) minmax(1.75rem,1fr)}}.switcher>*{display:flex;flex-wrap:wrap;justify-content:var(--switcher-justification,flex-start);margin:-.5rem;margin:calc(var(--switcher-gap-vertical,var(--switcher-gap,1rem))/ 2 * -1) calc(var(--switcher-gap,1rem)/ 2 * -1)}.switcher>*>*{flex-grow:1;flex-basis:calc((var(--switcher-threshold,30rem) - (100% - var(--switcher-gap,1rem))) * 999);margin:.5rem;margin:calc(var(--switcher-gap-vertical,var(--switcher-gap,1rem))/ 2) calc(var(--switcher-gap,1rem)/ 2)}.button{display:inline-block;padding:1rem;font-size:1rem;border-radius:.375rem;font-weight:700;line-height:1;text-transform:uppercase;color:#fff;background:#f96360}.button:hover{background:#000;color:#fff}.button:focus{outline:2px dashed #fff;outline-offset:-5px}.button--secondary{background:#4f51a9}.button--white{background:#fff;color:#f96360}.button--white:focus{outline-color:#f96360}@media (min-width:52em){.button{padding:1.5rem;font-size:1.125rem}}.button--slim{padding:1rem}.btn-cluster .button:nth-of-type(2n){background:#4f51a9;color:#fff}.btn-cluster .button:nth-of-type(2n):hover{background:#000}.event-landing .event-teaser{position:relative;padding:1rem;border:5px solid #f96360;display:flex;flex-direction:column;align-items:flex-start;border-radius:.75rem;max-width:30rem}.event-landing .event-teaser:hover{border-color:#4f51a9}.event-landing .event-teaser:hover .button{background-color:#4f51a9}.event-landing .event-teaser__text{margin-bottom:.5rem}.event-landing .event-teaser__link{position:absolute;left:0;top:0;right:0;bottom:0}.event-landing .button{margin-top:auto}footer{padding:.875rem;display:flex;flex-wrap:wrap;gap:1rem 5rem;align-items:center;justify-content:center;margin-top:auto;text-align:left}footer a:focus{border:2px dashed #4f51a9;padding:.25rem}footer .nav-icons>ul{display:flex}footer .nav-icons>ul>*+*{margin-left:1rem}footer .nav-icons ul{list-style-type:none}footer .nav-icons svg{color:#000;height:1.5rem;width:1.5rem}footer .nav-icons svg:hover{color:#f96360}@media (min-width:52em){footer{text-align:right;flex-direction:row;justify-content:space-between}footer .nav-icons{display:none}}.header{position:static;border-top:3px solid #fff;z-index:9}@media (min-width:52em){.header{position:sticky;border:none;top:calc(7.625rem + 3.5rem)}}@media (min-width:120em){.header{top:calc(12.625rem + 3.5rem)}}.logo{padding-top:1.75rem;position:static;top:0;z-index:9;align-self:top}@media (min-width:52em){.logo{position:sticky;height:7.625rem}.logo h1{height:100%;display:inline-block}.logo h1 img{height:100%;width:auto}}@media (min-width:120em){.logo{height:12.625rem}}.main-nav{margin-left:0;font-weight:700}.main-nav__list{min-width:100%}.main-nav ul{list-style-type:none;display:flex;max-width:max-content;justify-content:space-between}.main-nav ul>*{margin-top:1.125rem}.main-nav ul li:hover a{text-decoration:2px #f96360 underline}.main-nav ul a:focus{outline:2px dashed #f96360;outline-offset:.25rem}.main-nav ul a[aria-current=page],.main-nav ul a[data-state=active]{text-decoration:2px #f96360 underline}.main-nav .nav-icons svg{display:none}@media (min-width:52em){.main-nav{margin-left:5.625rem}.main-nav ul{display:block}.main-nav ul>*+*{margin-top:1.125rem}.main-nav .nav-icons{max-width:max-content;display:flex;border-top:1px solid #fff;justify-content:flex-start}.main-nav .nav-icons>*+*{margin-left:.5rem}.main-nav .nav-icons svg{display:block;width:1.5rem;height:1.5rem;color:#fff}.main-nav .nav-icons svg:hover{color:#f96360}}@media (min-width:65em){.main-nav{margin-left:5.625rem}.main-nav .nav-icons{display:flex}.main-nav .nav-icons>*+*{margin-left:1rem}}@media (min-width:120em){.main-nav{margin-left:10.625rem}}.panel{padding:1.75rem;padding-right:calc(1.75rem + .5rem)}.panel__content{max-width:60rem}.panel__content .panel__headline+*{margin-top:1.75rem}@media (min-width:52em){.panel{padding:3.5rem}}.polaroid{background:#fff;padding:.5rem;box-shadow:0 0 30px rgba(0,0,0,.2),0 2px 3px rgba(0,0,0,.1);position:relative;max-width:500px;min-height:100%;transition:box-shadow .4s ease-out,z-index 0s .4s linear;position:relative;z-index:0}.polaroid img{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.polaroid figcaption{padding:.25em;position:relative}.polaroid figcaption::before{content:"—";position:absolute;color:#f96360;font-weight:700}.polaroid figcaption span{padding-left:1.125rem;display:block}.polaroid--logo img{width:80%;height:80%;top:10%;left:10%}.polaroid--linked:focus-within,.polaroid--linked:hover{box-shadow:0 0 70px rgba(0,0,0,.8),0 8px 6px rgba(0,0,0,.1);transition:box-shadow .4s ease-out,z-index 0s 0s linear;z-index:2}.polaroid a:focus img{outline:2px dashed #000;outline-offset:15px}.plain-html h2{font-size:1.75rem}@media (min-width:52em){.plain-html h2{font-size:3.5rem}}@media (min-width:65em){.plain-html h2{font-size:4.5rem}}.plain-html h3{font-size:1.125rem;--flow-space:1.75rem}@media (min-width:52em){.plain-html h3{font-size:1.5rem}}@media (min-width:65em){.plain-html h3{font-size:2rem}}.plain-html p+h2,.plain-html p+h3{--flow-space:2rem}@media (min-width:65em){.plain-html p+h2,.plain-html p+h3{--flow-space:3.5rem}}.plain-html ul+h3{--flow-space:2rem}@media (min-width:65em){.plain-html ul+h3{--flow-space:3.5rem}}.plain-html h2+p,.plain-html h3+p{--flow-space:0.5rem}@media (min-width:65em){.plain-html h2+p,.plain-html h3+p{--flow-space:1rem}}.plain-html h4{font-size:1.125rem;--flow-space:1.75rem}@media (min-width:65em){.plain-html h4{font-size:1.5rem}}.plain-html li,.plain-html p{font-size:1.125rem}@media (min-width:65em){.plain-html li,.plain-html p{font-size:1.75rem}}.plain-html--on-primary{color:#fff}.plain-html ul li{list-style-position:inside}.plain-html hr{border:none;border-top:2px solid #000}.plain-html a:not(.button){color:#f96360}.plain-html a:not(.button):hover{color:#4f51a9}.plain-html a.inline-btn:hover{color:#fff}.workstreams .project-teaser{--clip-width:3.125rem;--hover-color:#4f51a9;position:relative;padding:2rem;border:5px solid #f96360;display:flex;flex-direction:column;align-items:flex-start;clip-path:polygon(0 var(--clip-width),0 100%,100% 100%,100% 0,var(--clip-width) 0)}.workstreams .project-teaser::before{position:absolute;width:0;height:0;border-style:solid;border-width:calc(var(--clip-width) + 8px) calc(var(--clip-width) + 8px) 0 0;border-color:var(--hover-color) transparent transparent transparent;left:-5px;top:-5px;position:absolute}.workstreams .project-teaser:hover{border-color:var(--hover-color);z-index:999}.workstreams .project-teaser:hover .button{background-color:#4f51a9;color:#fff}.workstreams .project-teaser:hover::before{content:""}.workstreams .project-teaser__text{margin-bottom:1rem}.workstreams .project-teaser__image{position:absolute;right:2rem;bottom:2rem;width:3rem}.workstreams .project-teaser__link{position:absolute;left:0;top:0;right:0;bottom:0}.workstreams .button{margin-top:auto}.workstream{position:relative;gap:2rem;display:flex;flex-direction:column}@media (min-width:80em){.workstream{display:grid;grid-template-columns:minmax(0,1fr) 22rem;padding-right:0}}.workstream .program{position:sticky;top:1rem;right:-2rem;align-self:start;max-width:25rem}
Firmware Security The Firmware Security workstream of the Open Source Firmware Foundation. Talk to experts about firmware security and influence guidelines and standardization in the firmware world.
Goals Define and write guidelines for firmware security. Build a knowledge base for OEM/ODM/IBVs. Discuss latest supply chain and firmware security related technology and incidents. Support the Open Source Community with incident response. Resources Workstream leads Want to join? Get involved into guidelines standards and firmware security discussions
Join the public call © Open Source Firmware Foundation - All rights reserved.