summaryrefslogtreecommitdiffstats
path: root/docs/architecture/images/PFDesignAndAdmin.svg
blob: 1a1c687d01c5b60fb5b2574ea1e2632c7ea28591 (plain)
1
2
3
4
<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than diagrams.net -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1111px" height="333px" viewBox="-0.5 -0.5 1111 333" content="&lt;mxfile host=&quot;Electron&quot; modified=&quot;2022-03-08T09:31:06.121Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/16.5.1 Chrome/96.0.4664.110 Electron/16.0.7 Safari/537.36&quot; etag=&quot;lY_i-sVdEKvRwR8cWTHS&quot; version=&quot;16.5.1&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;0-5FABUy0DJKN6pRLFS_&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-fff2cc-1-ffd966-1-s-0"><stop offset="0%" style="stop-color: rgb(255, 242, 204); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(255, 217, 102); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color: rgb(245, 245, 245); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(179, 179, 179); stop-opacity: 1;"/></linearGradient></defs><g><rect x="250" y="150" width="150" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 165px; margin-left: 325px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyAPI</div></div></div></foreignObject><text x="325" y="169" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAPI</text></switch></g><rect x="140" y="50" width="50" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 165px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Portal</div></div></div></foreignObject><text x="165" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Portal</text></switch></g><rect x="200" y="50" width="120" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 260px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyDevAPIUser</div></div></div></foreignObject><text x="260" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDevAPIUser</text></switch></g><rect x="330" y="50" width="120" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 390px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyDistribution</div></div></div></foreignObject><text x="390" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDistribution</text></switch></g><rect x="365" y="0" width="50" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 15px; margin-left: 390px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">SDC</div></div></div></foreignObject><text x="390" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SDC</text></switch></g><path d="M 390 30 L 390 50" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 165 80 L 165 90 Q 165 100 175 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260 80 L 260 90 Q 260 100 270 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 390 80 L 390 90 Q 390 100 380 100 L 335 100 Q 325 100 325 110 L 325 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 80 80 L 80 90 Q 80 100 90 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 492 226 C 492 218 572 218 572 226 L 572 244 C 572 252 492 252 492 244 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><path d="M 492 226 C 492 232 572 232 572 226" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 240px; margin-left: 493px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">PolicyDB</div></div></div></foreignObject><text x="532" y="243" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDB</text></switch></g><rect x="512" y="150" width="140" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 165px; margin-left: 582px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyAdministration</div></div></div></foreignObject><text x="582" y="169" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdministration</text></switch></g><path d="M 517 40 L 517 50 Q 517 60 527 60 L 572 60 Q 582 60 582 70 L 582 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 362.5 180 L 361.25 180 Q 360 180 360 190 L 360 195 Q 360 200 370 200 L 522 200 Q 532 200 532 210 L 532 220" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 582 180 L 582 190 Q 582 200 572 200 L 542 200 Q 532 200 532 210 L 532 220" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="587" y="10" width="135" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 25px; margin-left: 655px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyAdminAPIUser</div></div></div></foreignObject><text x="655" y="29" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdminAPIUser</text></switch></g><path d="M 654.5 40 L 654.5 50 Q 654.5 60 644.5 60 L 592 60 Q 582 60 582 70 L 582 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="910" y="150" width="100" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 165px; margin-left: 960px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyExecution</div></div></div></foreignObject><text x="960" y="169" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyExecution</text></switch></g><rect x="760" y="235" width="100" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 250px; margin-left: 810px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">DMaaP</div></div></div></foreignObject><text x="810" y="254" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">DMaaP</text></switch></g><path d="M 760 250 L 750 250 Q 740 250 740 240 L 740 175 Q 740 165 730 165 L 652 165" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 910 165 L 895 165 Q 885 165 885 175 L 885 240 Q 885 250 875 250 L 860 250" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="860" y="50" width="90" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 905px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">AsyncCaller</div></div></div></foreignObject><text x="905" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">AsyncCaller</text></switch></g><rect x="960" y="50" width="80" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 1000px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">SyncCaller</div></div></div></foreignObject><text x="1000" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SyncCaller</text></switch></g><path d="M 986.33 143.77 L 998.67 86.23" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 985.23 148.91 L 983.28 141.33 L 986.33 143.77 L 990.12 142.8 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 999.77 81.09 L 1001.72 88.67 L 998.67 86.23 L 994.88 87.2 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 905 80 L 932.49 144.15" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 934.56 148.97 L 928.59 143.92 L 932.49 144.15 L 935.02 141.16 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 960 150 L 930.18 85.78" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 927.97 81.01 L 934.09 85.89 L 930.18 85.78 L 927.74 88.84 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 860 72.5 L 787.67 229.22" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 785.47 233.98 L 785.22 226.16 L 787.67 229.22 L 791.58 229.1 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 810 235 L 879.8 85.77" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 882.03 81.01 L 882.23 88.84 L 879.8 85.77 L 875.89 85.87 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 342 271.5 L 568 271.5 L 582 285.5 L 582 331.5 L 342 331.5 L 342 271.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 568 271.5 L 568 285.5 L 582 285.5" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 238px; height: 1px; padding-top: 273px; margin-left: 344px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Policy Artifacts and Metadata</div><div>PDP Group and Subgroup Definitions</div><div>Policy to PDP Group and Subgroup Mappings<br /></div></div></div></div></foreignObject><text x="344" y="285" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Policy Artifacts and Metadata...</text></switch></g><path d="M 532 250 L 462 271.5" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 620 80 L 796 80 L 810 94 L 810 130 L 620 130 L 620 80 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 796 80 L 796 94 L 810 94" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 188px; height: 1px; padding-top: 81px; margin-left: 622px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CRUD API for Policy Groups and Sub-Groups<br />API for Policy Deployment</div></div></div></foreignObject><text x="622" y="93" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">CRUD API for Policy Groups and...</text></switch></g><path d="M 950 241 L 1096 241 L 1110 255 L 1110 330 L 950 330 L 950 241 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 1096 241 L 1096 255 L 1110 255" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 158px; height: 1px; padding-top: 242px; margin-left: 952px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Policies for a given</div><div>domain execute in a</div><div> PDP Group. PDP Groups</div><div> have subgroups for each</div><div> PDP type in a PDP group<br /></div></div></div></div></foreignObject><text x="952" y="254" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Policies for a given...</text></switch></g><path d="M 985 180 L 1070 241" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 325 150 L 230 132.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 663 227.5 L 717 227.5 L 731 241.5 L 731 302.5 L 663 302.5 L 663 227.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 717 227.5 L 717 241.5 L 731 241.5" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 66px; height: 1px; padding-top: 229px; margin-left: 665px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Deploy</div><div>Retire</div><div>Archive<br />Upgrade</div><div>Rollback<br /></div></div></div></div></foreignObject><text x="665" y="241" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Deploy...</text></switch></g><path d="M 652 165 L 697 227.5" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 120 115 L 216 115 L 230 129 L 230 150 L 120 150 L 120 115 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 216 115 L 216 129 L 230 129" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 108px; height: 1px; padding-top: 116px; margin-left: 122px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CRUD API for Policy Artifacts</div></div></div></foreignObject><text x="122" y="128" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">CRUD API for Polic...</text></switch></g><path d="M 582 150 L 620 105" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><rect x="0" y="208" width="30" height="13" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/><rect x="22" y="204" width="200" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 214px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Policy Framework Component</div></div></div></foreignObject><text x="122" y="218" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Policy Framework Component</text></switch></g><rect x="0" y="225" width="30" height="13" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><rect x="22" y="221" width="128" height="20" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 126px; height: 1px; padding-top: 231px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Other Component</div></div></div></foreignObject><text x="86" y="235" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Other Component</text></switch></g><rect x="30" y="50" width="100" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 65px; margin-left: 80px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyDevGUI</div></div></div></foreignObject><text x="80" y="69" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyDevGUI</text></switch></g><rect x="455" y="10" width="120" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 25px; margin-left: 515px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">PolicyAdminGUI</div></div></div></foreignObject><text x="515" y="29" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">PolicyAdminGUI</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>