{"id":529,"date":"2019-11-22T15:08:17","date_gmt":"2019-11-22T15:08:17","guid":{"rendered":"https:\/\/sdf-docs.mansystems.com\/docs\/acr-rules\/performance\/upcoming-do-not-apply-entity-access\/"},"modified":"2022-04-14T08:39:46","modified_gmt":"2022-04-14T08:39:46","slug":"microflowentityaccess","status":"publish","type":"docs","link":"https:\/\/sdf-docs.clevr.com\/?docs=acr-rules\/performance\/microflowentityaccess","title":{"rendered":"Microflow should not apply entity access"},"content":{"rendered":"\n<p>This rule checks that a microflow does not apply entity access. Overzealosly applying entity access can have a big impact on performance.<\/p>\n\n\n\n<p>This rule is in contradiction to <a href=\"https:\/\/sdf-docs.clevr.com\/?docs=acr-rules\/security\/microflowentityaccess\">Microflow called from the client should apply entity access rules<\/a>. When developing multi-tenant apps, our advice is to apply entity access. The performance hit is preferred to potential data breaches. In such cases, it is possible to ignore microflows called from pages\/navigation.<\/p>\n\n\n\n<p><strong>Noncompliant example:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sdf-docs.clevr.com\/wp-content\/uploads\/2020\/01\/image-37.png\" alt=\"\" class=\"wp-image-938\" width=\"556\" height=\"307\" srcset=\"https:\/\/sdf-docs.clevr.com\/wp-content\/uploads\/2020\/01\/image-37.png 556w, https:\/\/sdf-docs.clevr.com\/wp-content\/uploads\/2020\/01\/image-37-480x265.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 556px, 100vw\" \/><\/figure>\n\n\n\n<p><strong>Compliant example:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sdf-docs.clevr.com\/wp-content\/uploads\/2020\/01\/image-39.png\" alt=\"\" class=\"wp-image-940\" width=\"559\" height=\"314\" srcset=\"https:\/\/sdf-docs.clevr.com\/wp-content\/uploads\/2020\/01\/image-39.png 559w, https:\/\/sdf-docs.clevr.com\/wp-content\/uploads\/2020\/01\/image-39-480x270.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 559px, 100vw\" \/><\/figure>\n","protected":false},"featured_media":0,"parent":95,"menu_order":18,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-529","docs","type-docs","status-publish","hentry"],"comment_count":0,"_links":{"self":[{"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/529"}],"collection":[{"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=529"}],"version-history":[{"count":8,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/529\/revisions"}],"predecessor-version":[{"id":2458,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/529\/revisions\/2458"}],"up":[{"embeddable":true,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/95"}],"next":[{"title":"Microflows should perform database actions at the end","link":"https:\/\/sdf-docs.clevr.com\/?docs=acr-rules\/performance\/commitatend","href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/761"}],"prev":[{"title":"Microflow retrieve from database and aggregate should be adjacent","link":"https:\/\/sdf-docs.clevr.com\/?docs=acr-rules\/performance\/retrieveaggregateadjacent","href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/757"}],"wp:attachment":[{"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=529"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdoc_tag&post=529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}