--- title: InSpec - Audit and Test Framework --- /! animated banner header.blue-gradient.margin-top-offset .h-top.strict-center.purp-shade h1.columns.t-white.strict-center data-enllax-ratio=".1" data-enllax-type="foreground" InSpec is compliance as code img.grid-animate.strict-center style="opacity:0.8" src="/images/home/web.svg" / /! diamond image img.strict-center.bright-animate.3d-animate src="/images/home/diamond.png" / /! canvas elements #particles-js canvas.particles-js-canvas-el / /! style for callout icons .row .icon.shadow.hide-for-small-only img src="/images/circ-arrow.svg" / /! Event Details go here .code-pop .strict-center p.t-white | Hey Seattle, learn how to make the most of InSpec! Join us on Tuesday, May 9. a href="https://events.chef.io/events/chef-hq-meetup-inspec/" target="_blank" Join us! /! Second Content .row.margin-both .large-9.medium-9.columns data-enllax-ratio=".1" data-enllax-type="foreground" h2.txt-margin Automated testing, codified p#icon-trigger | InSpec is an open-source testing framework for infrastructure with a human-readable language for specifying compliance, security and other policy requirements. Easily integrate automated tests that check for adherence to policy into any stage of your deployment pipeline. /! Third Content #icon-trigger.row.strict-center.margin-under-xs .large-12.columns hr.first/ small FEATURES OF INSPEC h2.txt-margin InSpec is compliance by design hr.first/ /! images with text - grid of 4 .row.strict-center.margin-under .large-3.medium-3.columns.strict-center img.floating.icon-art src="/images/home/platform.svg" / h3 Platform Agnostic p | InSpec supports all major operating systems and many applications out of the box. .large-3.medium-3.columns.strict-center img.icon-art src="/images/home/free.svg" / h3 Free to run anywhere p | InSpec is a language that can easily express compliance as code, with the freedom to run anywhere. .large-3.medium-3.columns.strict-center img.icon-art src="/images/home/test.svg" / h3 Test locally or remotely p | InSpec provides a local agent, as well as full remote testing support. .large-3.medium-3.columns.strict-center img.icon-art src="/images/home/language.svg" / h3 Extensible language p | Easily extend the InSpec language to cover new operating systems, devices, or applications. /! Fourth Content /! style for callout icons .row .icon.shadow img src="/images/circ-arrow.svg" / .block-angl.blue-gradient .section.purp-shade .row.relative-top .large-7.medium-7.columns.margin-top-xl.margin-under-xs data-enllax-ratio=".1" data-enllax-type="foreground" small.t-dk Inspec for compliance h2.t-white | Transform your compliance and security requirements into simple code #particles-second canvas.particles-js-canvas-el .row .large-5.medium-5.columns.margin-under-xs h3.t-white i.focus.t-dk ⪢ | Codify agreements p.t-white | Combine profiles and customize them with overlays. Pick controls and define exceptions as code. h3.t-white i.focus.t-dk ⪢ | Add context to your tests p.t-white | Utilize many fields like descriptions, tags, and impact. h3.t-white i.focus.t-dk ⪢ | Apply to all systems p.t-white | Analyze everything using the same codified profiles and controls. /! code .large-6.medium-6.columns .code-example.shadow.relative-top.margin-under code.code-demo span.code-attribute control | 'sshd-21' span.code-attribute do br/ span.code-token.indent title | 'Set SSH Protocol to 2' br/ span.code-token.indent desc | 'A detailed description' br/ span.code-token.indent impact | 1.0 # This is critical br/ span.code-token.indent ref | 'compliance guide, section 2.1' br/ br/ span.code-attribute.indent describe | sshd_config span.code-attribute do br/ span.code-attribute.indent   its | ('Protocol') { should cmp 2 } br/ span.code-attribute.indent end br/ span.code-attribute end a.btn.strict-right.t-white.try-demo.mobile-hide href="/tutorial" Try the Demo /! Next row .row .large-6.medium-6.columns.margin-under-xs data-enllax-ratio=".1" data-enllax-type="foreground" small.t-dk Inspec for infrastructure h2.t-white | Solve your infrastructure testing needs simply and efficiently .row .large-5.medium-5.columns.margin-under-xs h3.t-white i.focus.t-dk ⪢ | Test the desired state p.t-white Verify your infrastructure matches your expectations. h3.t-white i.focus.t-dk ⪢ | Use simple and expressive code p.t-white | Reduce friction by writing tests that are easy to understand by anyone. h3.t-white i.focus.t-dk ⪢ | Test any system anywhere p.t-white | Run tests locally or remotely on all major operating systems and configurations. h3.t-white i.focus.t-dk ⪢ | Extensible p.t-white | Create custom resources with ease and share them. /! code .large-6.medium-6.columns .code-example.shadow.relative-top.margin-under code.code-demo span.code-attribute describe | file('/etc/myapp.conf') span.code-attribute do br/ span.code-attribute.indent it | { should exist } br/ span.code-attribute.indent its | ('mode') { should cmp 0644 } br/ span.code-attribute end br/ br/ span.code-attribute describe | myapp.conf span.code-attribute do br/ span.code-attribute.indent its | ('port') { should cmp 8080 } br/ span.code-attribute end br/ br/ span.code-attribute describe | port(8080) span.code-attribute do br/ span.code-attribute.indent it | { should be_listening } br/ span.code-attribute end a.btn.strict-right.t-white.try-demo.mobile-hide href="/tutorial" Try the Demo