CINXE.COM
Stop Data Breaches With Our GraphQL Security Features | Inigo
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="true"/><link href="/geist/stylesheet.css" rel="stylesheet"/><link href="/geist-mono/stylesheet.css" rel="stylesheet"/><link rel="canonical" href="https://inigo.io/security"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="manifest" href="/site.webmanifest"/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#042866"/><meta name="msapplication-TileColor" content="#da532c"/><meta name="theme-color" content="#ffffff"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"/><link rel="shortlink" href="https://inigo.io/"/><title>Stop Data Breaches With Our GraphQL Security Features | Inigo</title><meta name="description" content="Keep your apps secure and protect user data with our advanced GraphQL security features. We stop GraphQL attacks in their tracks. Try it today. "/><meta name="keywords" content="GraphQL security, API security, API gateway security, API gateways, rate limiting, GraphQL server"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta property="og:title" content="Stop Data Breaches With Our GraphQL Security Features | Inigo"/><meta property="og:description" content="Keep your apps secure and protect user data with our advanced GraphQL security features. We stop GraphQL attacks in their tracks. Try it today. "/><meta property="og:type" content="website"/><meta property="og:url" content="https://inigo.io/"/><meta property="og:site_name" content="Inigo"/><meta name="twitter:title" content="Stop Data Breaches With Our GraphQL Security Features | Inigo"/><meta name="twitter:description" content="Keep your apps secure and protect user data with our advanced GraphQL security features. We stop GraphQL attacks in their tracks. Try it today. "/><meta name="next-head-count" content="29"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /><link rel="preload" href="/_next/static/css/8b1585d70dcaca9d.css" as="style"/><link rel="stylesheet" href="/_next/static/css/8b1585d70dcaca9d.css" data-n-g=""/><link rel="preload" href="/_next/static/css/20412651a984cadb.css" as="style"/><link rel="stylesheet" href="/_next/static/css/20412651a984cadb.css" data-n-p=""/><link rel="preload" href="/_next/static/css/f1cf723ba4978911.css" as="style"/><link rel="stylesheet" href="/_next/static/css/f1cf723ba4978911.css" data-n-p=""/><link rel="preload" href="/_next/static/css/74df91f10f659d7c.css" as="style"/><link rel="stylesheet" href="/_next/static/css/74df91f10f659d7c.css"/><link rel="preload" href="/_next/static/css/768bc07f6c9a9f29.css" as="style"/><link rel="stylesheet" href="/_next/static/css/768bc07f6c9a9f29.css"/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script defer="" src="/_next/static/chunks/352.2a7f5aa79cbcfcca.js"></script><script defer="" src="/_next/static/chunks/333.6df932fa345befef.js"></script><script src="/_next/static/chunks/webpack-fe7839405d981043.js" defer=""></script><script src="/_next/static/chunks/framework-087e577bf6ac2de7.js" defer=""></script><script src="/_next/static/chunks/main-7d97e9e1bd3f6e9a.js" defer=""></script><script src="/_next/static/chunks/pages/_app-82101de9b8dc67c2.js" defer=""></script><script src="/_next/static/chunks/75fc9c18-6b37f4b68d337d33.js" defer=""></script><script src="/_next/static/chunks/248-65b9b1ed1d18570c.js" defer=""></script><script src="/_next/static/chunks/61-cf831fc6a2d2684d.js" defer=""></script><script src="/_next/static/chunks/980-346ecfc2b48f6aa4.js" defer=""></script><script src="/_next/static/chunks/767-b19ff43fb6ca6cf9.js" defer=""></script><script src="/_next/static/chunks/840-9397f05eae77152b.js" defer=""></script><script src="/_next/static/chunks/262-f49f5054233e523a.js" defer=""></script><script src="/_next/static/chunks/pages/%5Bpid%5D-32b21134f297efcc.js" defer=""></script><script src="/_next/static/YOApxyMKoXfbalFz9PQVs/_buildManifest.js" defer=""></script><script src="/_next/static/YOApxyMKoXfbalFz9PQVs/_ssgManifest.js" defer=""></script><script src="/_next/static/YOApxyMKoXfbalFz9PQVs/_middlewareManifest.js" defer=""></script><style data-href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap">@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiEyp8kv8JHgFVrFJM.woff) format('woff')}@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLGT9V1g.woff) format('woff')}@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLEj6V1g.woff) format('woff')}@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLCz7V1g.woff) format('woff')}@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiEyp8kv8JHgFVrJJfecnFHGPc.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLGT9Z1JlFd2JQEl8qw.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLGT9Z1xlFd2JQEk.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLEj6Z1JlFd2JQEl8qw.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLEj6Z1xlFd2JQEk.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLCz7Z1JlFd2JQEl8qw.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v21/pxiByp8kv8JHgFVrLCz7Z1xlFd2JQEk.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style><style data-href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500&display=swap">@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vqPQA.woff) format('woff')}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_7PqPQA.woff) format('woff')}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0me8iUI0.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0me8iUI0lkQ.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0me8iUI0.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style><style data-href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@600;700&display=swap">@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff) format('woff')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff) format('woff')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmhdu3cOWxy40.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwkxdu3cOWxy40.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmxdu3cOWxy40.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRdu3cOWxy40.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu3cOWxw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmhdu3cOWxy40.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwkxdu3cOWxy40.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmxdu3cOWxy40.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmRdu3cOWxy40.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu3cOWxw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style></head><body><div id="__next"><div id="header" class="Header_header__za8ic light"><div class="container Header_headerContainer__DDpCs"><a class="Header_logo__Nk2PP" style="display:flex;align-items:center;mask:url(/img/logo.svg) no-repeat center / contain;-webkit-mask:url(/img/logo.svg) no-repeat center / contain" href="/"><img width="102" height="32" alt="Inigo Logo" style="cursor:pointer;opacity:0" src="/img/logo.svg"/></a><div class="Header_navigation__LMP4c"><div class="Header_popoverMenu__BdAVY"><div class="Header_popoverMenuChildren__ASZvh"></div></div><div class="Header_item__sNSbg"><h3 class="Header_link__7jyD0 Header_active__ArEjA" style="cursor:auto;user-select:none">Product<!-- --><svg style="margin-left:8px" width="12" height="12" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.7216 5.63282L8.67216 11.7199C8.30094 12.0934 7.69906 12.0934 7.32784 11.7199L1.27842 5.63282C0.907194 5.25929 0.907194 4.65368 1.27842 4.28015C1.64964 3.90662 2.25151 3.90662 2.62273 4.28015L8 9.69084L13.3773 4.28015C13.7485 3.90662 14.3504 3.90662 14.7216 4.28015C15.0928 4.65368 15.0928 5.25929 14.7216 5.63282Z" fill="currentColor"></path></svg></h3></div><div class="Header_item__sNSbg"><h3 class="Header_link__7jyD0" style="cursor:auto;user-select:none">Solutions<!-- --><svg style="margin-left:8px" width="12" height="12" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.7216 5.63282L8.67216 11.7199C8.30094 12.0934 7.69906 12.0934 7.32784 11.7199L1.27842 5.63282C0.907194 5.25929 0.907194 4.65368 1.27842 4.28015C1.64964 3.90662 2.25151 3.90662 2.62273 4.28015L8 9.69084L13.3773 4.28015C13.7485 3.90662 14.3504 3.90662 14.7216 4.28015C15.0928 4.65368 15.0928 5.25929 14.7216 5.63282Z" fill="currentColor"></path></svg></h3></div><div class="Header_item__sNSbg"><a href="/pricing"><h3 class="Header_link__7jyD0">Pricing</h3></a></div><div class="Header_item__sNSbg"><a target="_blank" href="https://docs.inigo.io"><h3 class="Header_link__7jyD0">Docs</h3></a></div><div class="Header_item__sNSbg"><a href="/blog"><h3 class="Header_link__7jyD0">Blog</h3></a></div><div class="Header_item__sNSbg"><h3 class="Header_link__7jyD0" style="cursor:auto;user-select:none">Learn<!-- --><svg style="margin-left:8px" width="12" height="12" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.7216 5.63282L8.67216 11.7199C8.30094 12.0934 7.69906 12.0934 7.32784 11.7199L1.27842 5.63282C0.907194 5.25929 0.907194 4.65368 1.27842 4.28015C1.64964 3.90662 2.25151 3.90662 2.62273 4.28015L8 9.69084L13.3773 4.28015C13.7485 3.90662 14.3504 3.90662 14.7216 4.28015C15.0928 4.65368 15.0928 5.25929 14.7216 5.63282Z" fill="currentColor"></path></svg></h3></div></div><div class="Header_actions__HXH_c" style="display:flex;margin-left:auto"><a href="https://landing.inigo.io/demo" target="_blank"><div class="Button_button__vjyUx" data-type="primary" data-size="default">Get a demo<!-- --></div></a><div style="margin-left:24px"><a href="https://app.inigo.io/" target="_blank"><div class="Button_button__vjyUx" data-type="secondary" data-size="default">Get started for free<!-- --></div></a></div></div></div><div class="container Header_headerChildrenContainer__j7hVO"><div class="Header_list__sfpYI"><div class="Header_item__sNSbg"><a id="header_children_0" class="" href="/observability">In-Depth Observability<!-- --></a></div><div class="Header_item__sNSbg"><a id="header_children_1" class="" href="/managed_schema">Schema Registry<!-- --></a></div><div class="Header_item__sNSbg"><a id="header_children_2" class="Header_active__ArEjA" href="/security">Multi-Layer Security<!-- --></a></div><div class="Header_item__sNSbg"><a id="header_children_3" class="" href="/explorer">GraphQL Explorer<!-- --></a></div></div></div></div><div class="Notifications_wrapper__MdtP8"><div class="Notifications_container__s6gON"></div></div><div style="flex:1"><div class="NewSection_modal__TRx5z"><svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" viewBox="0 0 48 48" class="NewSection_close__2tYdt"><path d="M24 26.1 13.5 36.6q-.45.45-1.05.45-.6 0-1.05-.45-.45-.45-.45-1.05 0-.6.45-1.05L21.9 24 11.4 13.5q-.45-.45-.45-1.05 0-.6.45-1.05.45-.45 1.05-.45.6 0 1.05.45L24 21.9l10.5-10.5q.45-.45 1.05-.45.6 0 1.05.45.45.45.45 1.05 0 .6-.45 1.05L26.1 24l10.5 10.5q.45.45.45 1.05 0 .6-.45 1.05-.45.45-1.05.45-.6 0-1.05-.45Z"></path></svg></div><div class="new"><div id="security" class="NewSection_group__hxwGG light" data-section="group__security" style="--group-color:#84ACF3;--group-line-gradient:linear-gradient(0deg, rgba(132, 172, 243, 0) 0%, rgba(132, 172, 243, 0.7) 100%);--group-image-gradient:linear-gradient(0deg, rgba(132, 172, 243, 0) 0%, rgba(132, 172, 243, 0.15) 100%);--group-icon-gradient:linear-gradient(-45deg, rgba(132, 172, 243, 0.1) 0%, rgba(132, 172, 243, 0.5) 100%)"><div class="NewSection_container__eOEfE container"><div class="NewSection_heading__Mtz2I"><div class="NewSection_title__CQ5ow"><h1 class="NewSection_text__D1s6H">Protect Your API With Our Advanced GraphQL Security Features</h1></div><div class="NewSection_text__D1s6H"><div class="NewSection_content__BrEeI"><p>Standard API gateways are blind to GraphQL attacks. Without purpose-built protection for GraphQL, API calls can be easily bypassed. This lack of sophisticated tooling has already led to high-profile DoS attacks and data leaks.</p> <p>Stay ahead of the attackers that leverage GraphQL's free form nature to attack different phases in GraphQL's adoption journey from parser, resolver to business logic.</p> </div></div></div><div class="NewSection_sections__HvYVZ"><div id="security_rate" class="NewSection_section__jTe9g NewSection_RL__dcgP5 light" data-section="security_rate"><div class="NewSection_container__eOEfE container"><div class="NewSection_text__D1s6H"><div class="NewSection_title__CQ5ow"><h2>Rate limiting</h2> </div><div class="NewSection_description__Cwcvl"><p>Combine properly built field-level rate limiting and cost-based rate limiting to achieve comprehensive protection against DoS attacks and data leakage.</p> <p>Limit the number of requests that can be made against specific operations and mutations. Analyze and evaluate each response to accurately any instances of data scraping or resource-heavy objects that could potentially cause an overload in your system</p> </div></div><div class="NewSection_image__GEQzd"><div class="NewSection_inner__sfJeO"><img alt="GraphQL security features" src="/img/strapi/protection_6@2x.gif" aspectRatio="1.096774193548387" loading="lazy" media="[object Object]"/></div></div></div></div><div id="security_operation" class="NewSection_section__jTe9g NewSection_LR__VdBmN light" data-section="security_operation"><div class="NewSection_container__eOEfE container"><div class="NewSection_text__D1s6H"><div class="NewSection_title__CQ5ow"><h2>Operation registry</h2> </div><div class="NewSection_description__Cwcvl"><p>Operation Registry enhances GraphQL API security by permitting only pre-approved queries and mutations. It boosts performance and change management, while providing analytics for informed decision-making and fostering effective team collaboration.</p> </div></div><div class="NewSection_image__GEQzd"><div class="NewSection_inner__sfJeO"><img alt="GraphQL security features" src="/img/strapi/Operation_Registry_illustration.png" aspectRatio="1.1910112359550562" loading="lazy" media="[object Object]"/></div></div></div></div><div id="security_introspection" class="NewSection_section__jTe9g NewSection_RL__dcgP5 light" data-section="security_introspection"><div class="NewSection_container__eOEfE container"><div class="NewSection_text__D1s6H"><div class="NewSection_title__CQ5ow"><h2>Secure introspection</h2> </div><div class="NewSection_description__Cwcvl"><p>With RBAC introspection separation, access control can be completely enforced at the edge. Users gain schema visibility only to allowed operations, types, and fields. Learn more about Inigo鈥檚 schema-based access control.</p> <p>Keep resolvers clean and tight. Transform from complex code logic into role-based declarative configuration. Easy to maintain and manage during the development lifecycle.</p> </div></div><div class="NewSection_image__GEQzd"><div class="NewSection_inner__sfJeO"><img alt="GraphQL security features" src="/img/strapi/security_rbac.webp" aspectRatio="1.4261213720316623" loading="lazy" media="[object Object]"/></div></div></div></div><div id="security_query" class="NewSection_section__jTe9g NewSection_LR__VdBmN light" data-section="security_query"><div class="NewSection_container__eOEfE container"><div class="NewSection_text__D1s6H"><div class="NewSection_title__CQ5ow"><h2>Query limits</h2> </div><div class="NewSection_description__Cwcvl"><p>GraphQL server implementations differ from each other. The strength of your choice of GraphQL server depends on those who maintain it. Attackers knows that. It is easy enough for an abuser to fingerprint your running implementing and work against it.</p> <p>Ensure the right security knobs are in place to protect against query-based DoS attacks. Enforce tens to GraphQL controls to maintain operability.</p> </div></div><div class="NewSection_image__GEQzd"><div class="NewSection_inner__sfJeO"><img alt="GraphQL security features" src="/img/strapi/security_query.webp" aspectRatio="1.4661246612466126" loading="lazy" media="[object Object]"/></div></div></div></div><div id="security_injections" class="NewSection_section__jTe9g NewSection_RL__dcgP5 light" data-section="security_injections"><div class="NewSection_container__eOEfE container"><div class="NewSection_text__D1s6H"><div class="NewSection_title__CQ5ow"><h2>Injection attacks</h2> </div><div class="NewSection_description__Cwcvl"><p>GraphQL鈥檚 complex payload expands attackers' ability to inject malicious payloads and compromise its underlying system. Properly validate and sanitize any user-supplied input in a GraphQL API to prevent injection attacks.</p> </div></div><div class="NewSection_image__GEQzd"><div class="NewSection_inner__sfJeO"><img alt="GraphQL security features" src="/img/strapi/Group_397919472.png" aspectRatio="1.4596949891067539" loading="lazy" media="[object Object]"/></div></div></div></div></div></div></div></div></div><div class="Footer_footer__AaBZs dark"><div class="container"><div class="Footer_main__Pz_IY"><div class="Footer_left__g5Jwd"><a href="/"><img class="Footer_logo__RdbIO" width="127" height="36" alt="Inigo Logo" src="/img/logo_alternate.svg" loading="lazy"/></a></div><div class="Footer_navigation__97Tfv"><div class="Footer_column__xd9lQ"><h3 class="Footer_title__VCjok">Product<!-- --></h3><div class="Footer_list__SiePl"><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="/observability">In-Depth Observability<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="/managed_schema">Schema Registry<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="security">Multi-Layer Security<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="explorer">GraphQL Explorer<!-- --> <!-- --></a></div></div></div><div class="Footer_column__xd9lQ"><h3 class="Footer_title__VCjok">Solutions <!-- --></h3><div class="Footer_list__SiePl"><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="gateway">Inigo's GraphQL Router<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="byog">Inigo鈥檚 Apollo Plugin<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="byos">Inigo鈥檚 GraphQL Middleware<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="api-gateway">API Gateway Integration<!-- --> <!-- --></a></div></div></div><div class="Footer_column__xd9lQ"><h3 class="Footer_title__VCjok">Learn<!-- --></h3><div class="Footer_list__SiePl"><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="blog">Blog<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="https://docs.inigo.io">Docs<!-- --> <!-- --><svg class="Footer_arrow__h75BT" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.79164 4.49424C4.79167 4.30647 4.86627 4.1264 4.99904 3.99364C5.13181 3.86087 5.31188 3.78626 5.49964 3.78624L11.5081 3.78624C11.6959 3.78626 11.876 3.86087 12.0087 3.99364C12.1415 4.12641 12.2161 4.30647 12.2161 4.49423L12.2161 10.5027C12.2129 10.6884 12.1369 10.8653 12.0045 10.9955C11.872 11.1256 11.6938 11.1985 11.5081 11.1985C11.3225 11.1985 11.1442 11.1256 11.0118 10.9955C10.8794 10.8653 10.8034 10.6884 10.8001 10.5027L10.8001 6.20365L4.99893 12.0048C4.86614 12.1376 4.68603 12.2122 4.49823 12.2122C4.31042 12.2122 4.13031 12.1376 3.99752 12.0048C3.86472 11.872 3.79012 11.6919 3.79012 11.5041C3.79012 11.3163 3.86472 11.1362 3.99752 11.0034L9.79871 5.20224H5.49964C5.31188 5.20221 5.13181 5.12761 4.99904 4.99484C4.86627 4.86207 4.79167 4.682 4.79164 4.49424Z" fill="currentColor"></path></svg></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="https://docs.inigo.io/tutorials/tutorials_part_1">Tutorials<!-- --> <!-- --><svg class="Footer_arrow__h75BT" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.79164 4.49424C4.79167 4.30647 4.86627 4.1264 4.99904 3.99364C5.13181 3.86087 5.31188 3.78626 5.49964 3.78624L11.5081 3.78624C11.6959 3.78626 11.876 3.86087 12.0087 3.99364C12.1415 4.12641 12.2161 4.30647 12.2161 4.49423L12.2161 10.5027C12.2129 10.6884 12.1369 10.8653 12.0045 10.9955C11.872 11.1256 11.6938 11.1985 11.5081 11.1985C11.3225 11.1985 11.1442 11.1256 11.0118 10.9955C10.8794 10.8653 10.8034 10.6884 10.8001 10.5027L10.8001 6.20365L4.99893 12.0048C4.86614 12.1376 4.68603 12.2122 4.49823 12.2122C4.31042 12.2122 4.13031 12.1376 3.99752 12.0048C3.86472 11.872 3.79012 11.6919 3.79012 11.5041C3.79012 11.3163 3.86472 11.1362 3.99752 11.0034L9.79871 5.20224H5.49964C5.31188 5.20221 5.13181 5.12761 4.99904 4.99484C4.86627 4.86207 4.79167 4.682 4.79164 4.49424Z" fill="currentColor"></path></svg></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="apollo-vs-inigo">Inigo vs. GraphOS<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="media">Media & Webinars<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="press">Press<!-- --> <!-- --></a></div></div></div><div class="Footer_column__xd9lQ"><h3 class="Footer_title__VCjok">Company<!-- --></h3><div class="Footer_list__SiePl"><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="about">About us<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="legal">Legal<!-- --> <!-- --></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="https://reddit.com/user/InigoGraphQL">Reddit<!-- --> <!-- --><svg class="Footer_arrow__h75BT" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.79164 4.49424C4.79167 4.30647 4.86627 4.1264 4.99904 3.99364C5.13181 3.86087 5.31188 3.78626 5.49964 3.78624L11.5081 3.78624C11.6959 3.78626 11.876 3.86087 12.0087 3.99364C12.1415 4.12641 12.2161 4.30647 12.2161 4.49423L12.2161 10.5027C12.2129 10.6884 12.1369 10.8653 12.0045 10.9955C11.872 11.1256 11.6938 11.1985 11.5081 11.1985C11.3225 11.1985 11.1442 11.1256 11.0118 10.9955C10.8794 10.8653 10.8034 10.6884 10.8001 10.5027L10.8001 6.20365L4.99893 12.0048C4.86614 12.1376 4.68603 12.2122 4.49823 12.2122C4.31042 12.2122 4.13031 12.1376 3.99752 12.0048C3.86472 11.872 3.79012 11.6919 3.79012 11.5041C3.79012 11.3163 3.86472 11.1362 3.99752 11.0034L9.79871 5.20224H5.49964C5.31188 5.20221 5.13181 5.12761 4.99904 4.99484C4.86627 4.86207 4.79167 4.682 4.79164 4.49424Z" fill="currentColor"></path></svg></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="https://www.linkedin.com/company/inigo">LinkedIn<!-- --> <!-- --><svg class="Footer_arrow__h75BT" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.79164 4.49424C4.79167 4.30647 4.86627 4.1264 4.99904 3.99364C5.13181 3.86087 5.31188 3.78626 5.49964 3.78624L11.5081 3.78624C11.6959 3.78626 11.876 3.86087 12.0087 3.99364C12.1415 4.12641 12.2161 4.30647 12.2161 4.49423L12.2161 10.5027C12.2129 10.6884 12.1369 10.8653 12.0045 10.9955C11.872 11.1256 11.6938 11.1985 11.5081 11.1985C11.3225 11.1985 11.1442 11.1256 11.0118 10.9955C10.8794 10.8653 10.8034 10.6884 10.8001 10.5027L10.8001 6.20365L4.99893 12.0048C4.86614 12.1376 4.68603 12.2122 4.49823 12.2122C4.31042 12.2122 4.13031 12.1376 3.99752 12.0048C3.86472 11.872 3.79012 11.6919 3.79012 11.5041C3.79012 11.3163 3.86472 11.1362 3.99752 11.0034L9.79871 5.20224H5.49964C5.31188 5.20221 5.13181 5.12761 4.99904 4.99484C4.86627 4.86207 4.79167 4.682 4.79164 4.49424Z" fill="currentColor"></path></svg></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="https://github.com/inigolabs">GitHub<!-- --> <!-- --><svg class="Footer_arrow__h75BT" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.79164 4.49424C4.79167 4.30647 4.86627 4.1264 4.99904 3.99364C5.13181 3.86087 5.31188 3.78626 5.49964 3.78624L11.5081 3.78624C11.6959 3.78626 11.876 3.86087 12.0087 3.99364C12.1415 4.12641 12.2161 4.30647 12.2161 4.49423L12.2161 10.5027C12.2129 10.6884 12.1369 10.8653 12.0045 10.9955C11.872 11.1256 11.6938 11.1985 11.5081 11.1985C11.3225 11.1985 11.1442 11.1256 11.0118 10.9955C10.8794 10.8653 10.8034 10.6884 10.8001 10.5027L10.8001 6.20365L4.99893 12.0048C4.86614 12.1376 4.68603 12.2122 4.49823 12.2122C4.31042 12.2122 4.13031 12.1376 3.99752 12.0048C3.86472 11.872 3.79012 11.6919 3.79012 11.5041C3.79012 11.3163 3.86472 11.1362 3.99752 11.0034L9.79871 5.20224H5.49964C5.31188 5.20221 5.13181 5.12761 4.99904 4.99484C4.86627 4.86207 4.79167 4.682 4.79164 4.49424Z" fill="currentColor"></path></svg></a></div><div class="Footer_item__jLVly"><a class="Footer_link__hmjXZ" href="https://landing.inigo.io/demo">Contact us<!-- --> <!-- --><svg class="Footer_arrow__h75BT" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.79164 4.49424C4.79167 4.30647 4.86627 4.1264 4.99904 3.99364C5.13181 3.86087 5.31188 3.78626 5.49964 3.78624L11.5081 3.78624C11.6959 3.78626 11.876 3.86087 12.0087 3.99364C12.1415 4.12641 12.2161 4.30647 12.2161 4.49423L12.2161 10.5027C12.2129 10.6884 12.1369 10.8653 12.0045 10.9955C11.872 11.1256 11.6938 11.1985 11.5081 11.1985C11.3225 11.1985 11.1442 11.1256 11.0118 10.9955C10.8794 10.8653 10.8034 10.6884 10.8001 10.5027L10.8001 6.20365L4.99893 12.0048C4.86614 12.1376 4.68603 12.2122 4.49823 12.2122C4.31042 12.2122 4.13031 12.1376 3.99752 12.0048C3.86472 11.872 3.79012 11.6919 3.79012 11.5041C3.79012 11.3163 3.86472 11.1362 3.99752 11.0034L9.79871 5.20224H5.49964C5.31188 5.20221 5.13181 5.12761 4.99904 4.99484C4.86627 4.86207 4.79167 4.682 4.79164 4.49424Z" fill="currentColor"></path></svg></a></div></div></div></div></div><div class="Footer_copyright__E_szu"><span>Copyright 漏 <!-- -->2024<!-- --> Inigo Labs, Inc. <!-- -->| <!-- --> All Rights Reserved. <!-- -->| <!-- --><a href="https://status.inigo.io" target="_blank">Systems Status</a></span></div></div></div><script async="" src="https://embed.savvycal.com/v1/embed.js"></script><script> window.SavvyCal=window.SavvyCal||function(){(SavvyCal.q=SavvyCal.q||[]).push(arguments)}; </script><script> SavvyCal('init'); </script></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"pages":[{"pid":"kubecon-na-2022","title":"kubecon-na-2022"},{"pid":"press","title":"press"},{"pid":"about","title":"about"},{"pid":"home","title":"home"},{"pid":"__security","title":"__security"},{"pid":"query_protection","title":"query_protection"},{"pid":"access_control","title":"access_control"},{"pid":"rate_limiting","title":"rate_limiting"},{"pid":"managed_federation","title":"managed_federation"},{"pid":"careers","title":"careers"},{"pid":"observability","title":"observability"},{"pid":"managed_schema","title":"managed_schema"},{"pid":"security","title":"security"},{"pid":"explorer","title":"explorer"},{"pid":"solutions","title":"solutions"},{"pid":"byog","title":"byog"},{"pid":"api-gateway","title":"api-gateway"},{"pid":"byos","title":"byos"},{"pid":"gateway","title":"gateway"}],"headerNavigation":[{"id":14,"Title":"Product","ref":null,"children":[{"id":65,"title":"In-Depth Observability","ref":"observability","description":"Analytics, Errors and Alerting","color":"#8F8CE1","icon":{"data":{"id":471,"attributes":{"name":"icon_monitoring.svg","alternativeText":"icon_monitoring.svg","caption":"icon_monitoring.svg","width":48,"height":48,"hash":"icon_monitoring_4d769619ee","ext":".svg","mime":"image/svg+xml","size":0.56,"url":"/img/strapi/icon_monitoring.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2023-12-26T15:44:24.623Z","updatedAt":"2023-12-26T15:44:24.623Z"}}},"children":[]},{"id":68,"title":"Schema Registry","ref":"managed_schema","description":"Composition, Schema Checks, Registry and Linting","color":"#AC44EF","icon":{"data":{"id":480,"attributes":{"name":"icon_schema.svg","alternativeText":"icon_schema.svg","caption":"icon_schema.svg","width":48,"height":48,"hash":"icon_schema_dd41bc4feb","ext":".svg","mime":"image/svg+xml","size":2.12,"url":"/img/strapi/icon_schema.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2023-12-26T16:40:51.519Z","updatedAt":"2023-12-26T16:40:51.519Z"}}},"children":[]},{"id":67,"title":"Multi-Layer Security","ref":"security","description":"Rate Limiting and Query Protection","color":"#84ACF3","icon":{"data":{"id":486,"attributes":{"name":"icon_security.svg","alternativeText":"icon_security.svg","caption":"icon_security.svg","width":48,"height":48,"hash":"icon_security_a3240ef9ab","ext":".svg","mime":"image/svg+xml","size":1.8,"url":"/img/strapi/icon_security.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2023-12-26T16:53:58.372Z","updatedAt":"2023-12-26T16:53:58.372Z"}}},"children":[]},{"id":66,"title":"GraphQL Explorer","ref":"explorer","description":"Collaborative Query Builder","color":"#D4B053","icon":{"data":{"id":491,"attributes":{"name":"icon_playground.svg","alternativeText":"icon_playground.svg","caption":"icon_playground.svg","width":48,"height":48,"hash":"icon_playground_b055fdcfa3","ext":".svg","mime":"image/svg+xml","size":1.05,"url":"/img/strapi/icon_playground.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2023-12-26T17:03:25.614Z","updatedAt":"2023-12-26T17:03:25.614Z"}}},"children":[]}]},{"id":17,"Title":"Solutions","ref":null,"children":[{"id":92,"title":"Use cases","ref":null,"description":null,"color":null,"icon":{"data":null},"children":[{"id":15,"title":"Inigo's GraphQL Router","ref":"gateway","icon":{"data":{"id":644,"attributes":{"name":"nav_inigo.svg","alternativeText":"nav_inigo.svg","caption":"nav_inigo.svg","width":16,"height":16,"hash":"nav_inigo_74f7ea23d1","ext":".svg","mime":"image/svg+xml","size":5.26,"url":"/img/strapi/nav_inigo.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-23T14:36:05.083Z","updatedAt":"2024-08-23T14:36:05.083Z"}}}},{"id":12,"title":"Inigo鈥檚 Apollo Plugin","ref":"byog","icon":{"data":{"id":641,"attributes":{"name":"nav_byog.svg","alternativeText":"nav_byog.svg","caption":"nav_byog.svg","width":16,"height":16,"hash":"nav_byog_c44e9018e9","ext":".svg","mime":"image/svg+xml","size":6.93,"url":"/img/strapi/nav_byog.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-23T14:35:37.325Z","updatedAt":"2024-08-23T14:35:37.325Z"}}}},{"id":11,"title":"Inigo鈥檚 GraphQL Middleware","ref":"byos","icon":{"data":{"id":642,"attributes":{"name":"nav_byos.svg","alternativeText":"nav_byos.svg","caption":"nav_byos.svg","width":16,"height":16,"hash":"nav_byos_f05073cea1","ext":".svg","mime":"image/svg+xml","size":0.85,"url":"/img/strapi/nav_byos.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-23T14:35:47.192Z","updatedAt":"2024-08-23T14:35:47.192Z"}}}},{"id":13,"title":"API Gateway Integration","ref":"api-gateway","icon":{"data":{"id":643,"attributes":{"name":"nav_api.svg","alternativeText":"nav_api.svg","caption":"nav_api.svg","width":16,"height":16,"hash":"nav_api_e27c691a68","ext":".svg","mime":"image/svg+xml","size":1.41,"url":"/img/strapi/nav_api.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-23T14:35:57.287Z","updatedAt":"2024-08-23T14:35:57.287Z"}}}}]},{"id":93,"title":"Integrations","ref":null,"description":null,"color":null,"icon":{"data":null},"children":[{"id":21,"title":"Apollo Server","ref":"https://docs.inigo.io/product/agent_installation/javascript_apollo_plugin","icon":{"data":{"id":623,"attributes":{"name":"Apollo.svg","alternativeText":"Apollo.svg","caption":"Apollo.svg","width":16,"height":16,"hash":"Apollo_575ff22caf","ext":".svg","mime":"image/svg+xml","size":1.7,"url":"/img/strapi/Apollo.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:35:03.978Z","updatedAt":"2024-08-02T14:35:03.978Z"}}}},{"id":22,"title":"Apollo Gateway","ref":"https://docs.inigo.io/product/agent_installation/javascript_apollo_gateway","icon":{"data":{"id":623,"attributes":{"name":"Apollo.svg","alternativeText":"Apollo.svg","caption":"Apollo.svg","width":16,"height":16,"hash":"Apollo_575ff22caf","ext":".svg","mime":"image/svg+xml","size":1.7,"url":"/img/strapi/Apollo.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:35:03.978Z","updatedAt":"2024-08-02T14:35:03.978Z"}}}},{"id":20,"title":"Apollo Router","ref":"https://docs.inigo.io/product/agent_installation/rust_apollo_router","icon":{"data":{"id":623,"attributes":{"name":"Apollo.svg","alternativeText":"Apollo.svg","caption":"Apollo.svg","width":16,"height":16,"hash":"Apollo_575ff22caf","ext":".svg","mime":"image/svg+xml","size":1.7,"url":"/img/strapi/Apollo.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:35:03.978Z","updatedAt":"2024-08-02T14:35:03.978Z"}}}},{"id":23,"title":"Guild Yoga","ref":"https://docs.inigo.io/product/agent_installation/yoga","icon":{"data":{"id":624,"attributes":{"name":"logo yoga.svg","alternativeText":"logo yoga.svg","caption":"logo yoga.svg","width":16,"height":16,"hash":"logo_yoga_44d58eb36e","ext":".svg","mime":"image/svg+xml","size":6.55,"url":"/img/strapi/logo_yoga.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:35:21.568Z","updatedAt":"2024-08-02T14:35:21.568Z"}}}},{"id":24,"title":"Python Django","ref":"https://docs.inigo.io/product/agent_installation/python_django","icon":{"data":{"id":625,"attributes":{"name":"Phyton.svg","alternativeText":"Phyton.svg","caption":"Phyton.svg","width":16,"height":16,"hash":"Phyton_55ad6cdfd5","ext":".svg","mime":"image/svg+xml","size":1.61,"url":"/img/strapi/Phyton.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:35:28.237Z","updatedAt":"2024-08-02T14:35:28.237Z"}}}},{"id":25,"title":"Python Flask","ref":"https://docs.inigo.io/product/agent_installation/python_flask","icon":{"data":{"id":625,"attributes":{"name":"Phyton.svg","alternativeText":"Phyton.svg","caption":"Phyton.svg","width":16,"height":16,"hash":"Phyton_55ad6cdfd5","ext":".svg","mime":"image/svg+xml","size":1.61,"url":"/img/strapi/Phyton.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:35:28.237Z","updatedAt":"2024-08-02T14:35:28.237Z"}}}},{"id":26,"title":"Ruby on Rails","ref":"https://docs.inigo.io/product/agent_installation/ruby_on_rails","icon":{"data":{"id":626,"attributes":{"name":"Rails.svg","alternativeText":"Rails.svg","caption":"Rails.svg","width":16,"height":16,"hash":"Rails_0ad6e72312","ext":".svg","mime":"image/svg+xml","size":3.05,"url":"/img/strapi/Rails.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:36:05.667Z","updatedAt":"2024-08-20T16:19:19.312Z"}}}},{"id":27,"title":"Kubernetes Sidecar","ref":"https://docs.inigo.io/product/agent_installation/kubernetes","icon":{"data":{"id":627,"attributes":{"name":"Kubernetes.svg","alternativeText":"Kubernetes.svg","caption":"Kubernetes.svg","width":16,"height":16,"hash":"Kubernetes_94709cae0f","ext":".svg","mime":"image/svg+xml","size":11.32,"url":"/img/strapi/Kubernetes.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:36:16.514Z","updatedAt":"2024-08-02T14:36:16.514Z"}}}},{"id":30,"title":"Docker Standalone","ref":"https://docs.inigo.io/product/agent_installation/docker_standalone","icon":{"data":{"id":629,"attributes":{"name":"docker-icon-1024x739-rivf80b4 1.svg","alternativeText":"docker-icon-1024x739-rivf80b4 1.svg","caption":"docker-icon-1024x739-rivf80b4 1.svg","width":16,"height":16,"hash":"docker_icon_1024x739_rivf80b4_1_b9fe9b77d5","ext":".svg","mime":"image/svg+xml","size":4.68,"url":"/img/strapi/docker-icon-1024x739-rivf80b4_1.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:36:38.510Z","updatedAt":"2024-08-02T14:36:38.510Z"}}}},{"id":28,"title":"Docker Compose","ref":"https://docs.inigo.io/product/agent_installation/docker_compose","icon":{"data":{"id":629,"attributes":{"name":"docker-icon-1024x739-rivf80b4 1.svg","alternativeText":"docker-icon-1024x739-rivf80b4 1.svg","caption":"docker-icon-1024x739-rivf80b4 1.svg","width":16,"height":16,"hash":"docker_icon_1024x739_rivf80b4_1_b9fe9b77d5","ext":".svg","mime":"image/svg+xml","size":4.68,"url":"/img/strapi/docker-icon-1024x739-rivf80b4_1.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:36:38.510Z","updatedAt":"2024-08-02T14:36:38.510Z"}}}},{"id":29,"title":"Local Daemon","ref":"https://docs.inigo.io/product/agent_installation/standalone_agent","icon":{"data":{"id":645,"attributes":{"name":"local.svg","alternativeText":"local.svg","caption":"local.svg","width":16,"height":16,"hash":"local_5ba2d666f4","ext":".svg","mime":"image/svg+xml","size":0.27,"url":"/img/strapi/local.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-23T14:39:16.170Z","updatedAt":"2024-08-23T14:39:16.170Z"}}}},{"id":31,"title":"Kong","ref":"https://docs.inigo.io/product/agent_installation/kong","icon":{"data":{"id":631,"attributes":{"name":"Kong.svg","alternativeText":"Kong.svg","caption":"Kong.svg","width":17,"height":16,"hash":"Kong_3c06a74bde","ext":".svg","mime":"image/svg+xml","size":4.34,"url":"/img/strapi/Kong.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:37:16.806Z","updatedAt":"2024-08-02T14:37:16.806Z"}}}},{"id":32,"title":"Google Cloud Apigee","ref":"https://docs.inigo.io/product/agent_installation/apigee","icon":{"data":{"id":632,"attributes":{"name":"API.svg","alternativeText":"API.svg","caption":"API.svg","width":16,"height":16,"hash":"API_5e1d30f296","ext":".svg","mime":"image/svg+xml","size":3.71,"url":"/img/strapi/API.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-02T14:37:26.601Z","updatedAt":"2024-08-02T14:37:26.601Z"}}}},{"id":33,"title":"Hasura","ref":"https://docs.inigo.io/product/agent_installation/hasura","icon":{"data":{"id":573,"attributes":{"name":"Hasura.svg","alternativeText":"Hasura.svg","caption":"Hasura.svg","width":32,"height":32,"hash":"Hasura_2beedf3588","ext":".svg","mime":"image/svg+xml","size":2.46,"url":"/img/strapi/Hasura.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-04-05T12:51:01.009Z","updatedAt":"2024-04-05T12:51:01.009Z"}}}}]}]},{"id":15,"Title":"Pricing","ref":"pricing","children":[]},{"id":20,"Title":"Docs","ref":"https://docs.inigo.io","children":[]},{"id":2,"Title":"Blog","ref":"blog","children":[]},{"id":11,"Title":"Learn","ref":null,"children":[{"id":79,"title":"Tutorials","ref":"https://docs.inigo.io/tutorials/tutorials_part_1","description":null,"color":null,"icon":{"data":{"id":517,"attributes":{"name":"Tutorials.svg","alternativeText":"Tutorials.svg","caption":"Tutorials.svg","width":32,"height":32,"hash":"Tutorials_00ddeec014","ext":".svg","mime":"image/svg+xml","size":0.52,"url":"/img/strapi/Tutorials.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-02-01T16:22:42.230Z","updatedAt":"2024-02-01T16:22:42.230Z"}}},"children":[]},{"id":81,"title":"Inigo vs GraphOS","ref":"apollo-vs-inigo","description":null,"color":null,"icon":{"data":{"id":518,"attributes":{"name":"discovery.svg","alternativeText":"discovery.svg","caption":"discovery.svg","width":32,"height":32,"hash":"discovery_cea17bed6b","ext":".svg","mime":"image/svg+xml","size":1.58,"url":"/img/strapi/discovery.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-02-01T16:23:12.221Z","updatedAt":"2024-02-01T16:23:12.221Z"}}},"children":[]},{"id":77,"title":"Company","ref":"about","description":null,"color":null,"icon":{"data":{"id":515,"attributes":{"name":"blog.svg","alternativeText":"blog.svg","caption":"blog.svg","width":32,"height":32,"hash":"blog_1efe751850","ext":".svg","mime":"image/svg+xml","size":0.84,"url":"/img/strapi/blog.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-02-01T16:21:23.173Z","updatedAt":"2024-02-01T16:21:23.173Z"}}},"children":[]},{"id":80,"title":"Media \u0026 Webinars","ref":"media","description":null,"color":null,"icon":{"data":{"id":519,"attributes":{"name":"YouTube.svg","alternativeText":"YouTube.svg","caption":"YouTube.svg","width":32,"height":32,"hash":"You_Tube_7de9bfa780","ext":".svg","mime":"image/svg+xml","size":1.15,"url":"/img/strapi/YouTube.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-02-01T16:23:29.009Z","updatedAt":"2024-02-01T16:23:29.009Z"}}},"children":[]},{"id":94,"title":"Press","ref":"press","description":null,"color":null,"icon":{"data":{"id":174,"attributes":{"name":"press.svg","alternativeText":"press.svg","caption":"press.svg","width":24,"height":24,"hash":"press_784b5b1b4b","ext":".svg","mime":"image/svg+xml","size":1.69,"url":"/img/strapi/press.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2023-01-26T16:40:35.744Z","updatedAt":"2023-01-26T16:40:35.744Z"}}},"children":[]}]}],"footerNavigation":[{"id":8,"Title":"Product","ref":null,"children":[{"id":22,"title":"In-Depth Observability","ref":"/observability","description":null,"color":null},{"id":72,"title":"Schema Registry","ref":"/managed_schema","description":null,"color":null},{"id":73,"title":"Multi-Layer Security","ref":"security","description":null,"color":null},{"id":74,"title":"GraphQL Explorer","ref":"explorer","description":null,"color":null}]},{"id":19,"Title":"Solutions ","ref":null,"children":[{"id":103,"title":"Inigo's GraphQL Router","ref":"gateway","description":null,"color":null},{"id":96,"title":"Inigo鈥檚 Apollo Plugin","ref":"byog","description":null,"color":null},{"id":97,"title":"Inigo鈥檚 GraphQL Middleware","ref":"byos","description":null,"color":null},{"id":98,"title":"API Gateway Integration","ref":"api-gateway","description":null,"color":null}]},{"id":16,"Title":"Learn","ref":null,"children":[{"id":70,"title":"Blog","ref":"blog","description":null,"color":null},{"id":71,"title":"Docs","ref":"https://docs.inigo.io","description":null,"color":null},{"id":69,"title":"Tutorials","ref":"https://docs.inigo.io/tutorials/tutorials_part_1","description":null,"color":null},{"id":75,"title":"Inigo vs. GraphOS","ref":"apollo-vs-inigo","description":null,"color":null},{"id":76,"title":"Media \u0026 Webinars","ref":"media","description":null,"color":null},{"id":95,"title":"Press","ref":"press","description":null,"color":null}]},{"id":6,"Title":"Company","ref":null,"children":[{"id":64,"title":"About us","ref":"about","description":null,"color":null},{"id":104,"title":"Legal","ref":"legal","description":null,"color":null},{"id":99,"title":"Reddit","ref":"https://reddit.com/user/InigoGraphQL","description":null,"color":null},{"id":100,"title":"LinkedIn","ref":"https://www.linkedin.com/company/inigo","description":null,"color":null},{"id":102,"title":"GitHub","ref":"https://github.com/inigolabs","description":null,"color":null},{"id":101,"title":"Contact us","ref":"https://landing.inigo.io/demo","description":null,"color":null}]}],"banner":{"text":"Inigo Gateway: The Next Evolution in GraphQL Management","link":"https://inigo.io/blog/inigo-gateway","createdAt":"2023-12-12T20:28:12.753Z","updatedAt":"2024-10-23T15:36:52.420Z","publishedAt":"2023-12-12T20:28:13.815Z"},"path":"security","data":{"name":"security","title":"Stop Data Breaches With Our GraphQL Security Features","createdAt":"2023-12-26T16:51:31.914Z","updatedAt":"2024-10-30T15:43:48.919Z","publishedAt":"2023-12-26T16:51:32.849Z","description":"Keep your apps secure and protect user data with our advanced GraphQL security features. We stop GraphQL attacks in their tracks. Try it today.\n","keywords":"GraphQL security, API security, API gateway security, API gateways, rate limiting, GraphQL server","new_style":true,"sections":[{"data":{"id":27,"attributes":{"title":"Protect Your API With Our Advanced GraphQL Security Features","createdAt":"2023-12-26T16:54:56.595Z","updatedAt":"2024-10-30T15:16:09.984Z","publishedAt":"2023-12-26T16:54:57.590Z","name":"security","appearance":"light","text":"Standard API gateways are blind to GraphQL attacks. Without purpose-built protection for GraphQL, API calls can be easily bypassed. This lack of sophisticated tooling has already led to high-profile DoS attacks and data leaks.\n\nStay ahead of the attackers that leverage GraphQL's free form nature to attack different phases in GraphQL's adoption journey from parser, resolver to business logic.","color":"#84ACF3","icon":{"data":{"id":486,"attributes":{"name":"icon_security.svg","alternativeText":"icon_security.svg","caption":"icon_security.svg","width":48,"height":48,"hash":"icon_security_a3240ef9ab","ext":".svg","mime":"image/svg+xml","size":1.8,"url":"/img/strapi/icon_security.svg","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2023-12-26T16:53:58.372Z","updatedAt":"2023-12-26T16:53:58.372Z"}}},"sections":[{"id":171,"section":{"data":{"id":125,"attributes":{"name":"security_rate","title":"## Rate limiting","direction":"RL","text":"Combine properly built field-level rate limiting and cost-based rate limiting to achieve comprehensive protection against DoS attacks and data leakage.\n\nLimit the number of requests that can be made against specific operations and mutations. Analyze and evaluate each response to accurately any instances of data scraping or resource-heavy objects that could potentially cause an overload in your system","createdAt":"2023-12-26T16:56:11.966Z","updatedAt":"2023-12-26T16:56:46.486Z","publishedAt":"2023-12-26T16:56:13.516Z","appearance":"light","alignText":null,"banner":null,"background":{"data":null},"components":[{"id":115,"__component":"section-components.image","border":false,"image":{"data":{"id":218,"attributes":{"name":"protection_6@2x.gif","alternativeText":"GraphQL security features","caption":"protection_6@2x.gif","width":952,"height":868,"hash":"protection_6_3x_8dcf6ffda8","ext":".gif","mime":"image/gif","size":10732.84,"url":"/img/strapi/protection_6@2x.gif","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2023-02-11T00:03:14.189Z","updatedAt":"2024-10-30T15:34:52.437Z"}}}}]}}},"group":{"data":null}},{"id":172,"section":{"data":{"id":126,"attributes":{"name":"security_operation","title":"## Operation registry","direction":"LR","text":"Operation Registry enhances GraphQL API security by permitting only pre-approved queries and mutations. It boosts performance and change management, while providing analytics for informed decision-making and fostering effective team collaboration.","createdAt":"2023-12-26T16:57:37.106Z","updatedAt":"2024-08-02T21:23:41.119Z","publishedAt":"2023-12-26T16:57:38.474Z","appearance":"light","alignText":null,"banner":null,"background":{"data":null},"components":[{"id":116,"__component":"section-components.image","border":null,"image":{"data":{"id":621,"attributes":{"name":"Operation Registry illustration.png","alternativeText":"GraphQL security features","caption":"Operation Registry illustration.png","width":636,"height":534,"hash":"Operation_Registry_illustration_7320a2da40","ext":".png","mime":"image/png","size":89.66,"url":"/img/strapi/Operation_Registry_illustration.png","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-01T17:06:32.882Z","updatedAt":"2024-10-30T15:35:13.360Z"}}}}]}}},"group":{"data":null}},{"id":173,"section":{"data":{"id":127,"attributes":{"name":"security_introspection","title":"## Secure introspection","direction":"RL","text":"With RBAC introspection separation, access control can be completely enforced at the edge. Users gain schema visibility only to allowed operations, types, and fields. Learn more about Inigo鈥檚 schema-based access control.\n\nKeep resolvers clean and tight. Transform from complex code logic into role-based declarative configuration. Easy to maintain and manage during the development lifecycle.","createdAt":"2023-12-26T16:58:57.717Z","updatedAt":"2024-08-02T22:26:49.294Z","publishedAt":"2023-12-26T16:58:58.874Z","appearance":"light","alignText":null,"banner":null,"background":{"data":null},"components":[{"id":117,"__component":"section-components.image","border":null,"image":{"data":{"id":488,"attributes":{"name":"security_rbac.webp","alternativeText":"GraphQL security features","caption":"security_rbac.webp","width":1081,"height":758,"hash":"security_rbac_eead10e60a","ext":".webp","mime":"image/webp","size":32.7,"url":"/img/strapi/security_rbac.webp","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2023-12-26T16:58:55.213Z","updatedAt":"2024-10-30T15:35:24.798Z"}}}}]}}},"group":{"data":null}},{"id":174,"section":{"data":{"id":128,"attributes":{"name":"security_query","title":"## Query limits","direction":"LR","text":"GraphQL server implementations differ from each other. The strength of your choice of GraphQL server depends on those who maintain it. Attackers knows that. It is easy enough for an abuser to fingerprint your running implementing and work against it.\n\nEnsure the right security knobs are in place to protect against query-based DoS attacks. Enforce tens to GraphQL controls to maintain operability.","createdAt":"2023-12-26T17:00:09.486Z","updatedAt":"2024-08-02T20:47:00.150Z","publishedAt":"2023-12-26T17:00:12.787Z","appearance":"light","alignText":null,"banner":null,"background":{"data":null},"components":[{"id":118,"__component":"section-components.image","border":null,"image":{"data":{"id":489,"attributes":{"name":"security_query.webp","alternativeText":"GraphQL security features","caption":"security_query.webp","width":1082,"height":738,"hash":"security_query_6e3b1019fd","ext":".webp","mime":"image/webp","size":26.19,"url":"/img/strapi/security_query.webp","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2023-12-26T17:00:07.218Z","updatedAt":"2024-10-30T15:35:34.202Z"}}}}]}}},"group":{"data":null}},{"id":175,"section":{"data":{"id":129,"attributes":{"name":"security_injections","title":"## Injection attacks","direction":"RL","text":"GraphQL鈥檚 complex payload expands attackers' ability to inject malicious payloads and compromise its underlying system.\nProperly validate and sanitize any user-supplied input in a GraphQL API to prevent injection attacks.","createdAt":"2023-12-26T17:01:09.506Z","updatedAt":"2024-08-01T17:06:48.212Z","publishedAt":"2023-12-26T17:01:11.066Z","appearance":"light","alignText":null,"banner":null,"background":{"data":null},"components":[{"id":119,"__component":"section-components.image","border":null,"image":{"data":{"id":622,"attributes":{"name":"Group 397919472.png","alternativeText":"GraphQL security features","caption":"Group 397919472.png","width":670,"height":459,"hash":"Group_397919472_9aba9b6c17","ext":".png","mime":"image/png","size":21.16,"url":"/img/strapi/Group_397919472.png","previewUrl":null,"provider":"local","provider_metadata":null,"createdAt":"2024-08-01T17:06:45.720Z","updatedAt":"2024-10-30T15:35:58.263Z"}}}}]}}},"group":{"data":null}}]}}}]}},"__N_SSG":true},"page":"/[pid]","query":{"pid":"security"},"buildId":"YOApxyMKoXfbalFz9PQVs","isFallback":false,"dynamicIds":[2352,1333],"gsp":true,"appGip":true,"scriptLoader":[]}</script></body></html>