(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{rrAY:function(e,t,i){"use strict";i.r(t),i.d(t,"_frontmatter",(function(){return s})),i.d(t,"default",(function(){return p}));var n=i("wx14"),a=i("zLVn"),r=(i("q1tI"),i("7ljp")),o=i("hhGP"),s=(i("qKvR"),{});void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/security-page.mdx"}});var c={_frontmatter:s},u=o.a;function p(e){var t=e.components,i=Object(a.a)(e,["components"]);return Object(r.b)(u,Object(n.a)({},c,i,{components:t,mdxType:"MDXLayout"}),Object(r.b)("h2",{id:"security"},"Security"),Object(r.b)("p",null,"Apache Software Foundation takes a rigorous standpoint in annihilating the security issues in its\nsoftware projects. Apache Superset is highly sensitive and forthcoming to issues pertaining to its\nfeatures and functionality."),Object(r.b)("p",null,"If you have apprehensions regarding Superset security or you discover vulnerability or potential\nthreat, don’t hesitate to get in touch with the Apache Security Team by dropping a mail at\n",Object(r.b)("a",{href:"mailto:security@apache.org.",parentName:"p"},"security@apache.org.")," In the mail, specify the project name Superset with the description of the\nissue or potential threat. You are also urged to recommend the way to reproduce and replicate the\nissue. The security team and the Superset community will get back to you after assessing and\nanalysing the findings."),Object(r.b)("p",null,"PLEASE PAY ATTENTION to report the security issue on the security email before disclosing it on\npublic domain. The ASF Security Team maintains a page with the description of how vulnerabilities\nand potential threats are handled, check their web page for more details."))}void 0!==p&&p&&p===Object(p)&&Object.isExtensible(p)&&!p.hasOwnProperty("__filemeta")&&Object.defineProperty(p,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/security-page.mdx"}}),p.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-security-page-mdx-fb1cdb385a3f430845c5.js.map