{"templateId":"markdown","versions":[{"version":"v1.40","label":"v1.40 STS","link":"/products/custody/v1.40/get-started/design/guidelines","default":true,"active":false,"folderId":"c15a2701"},{"version":"v1.39","label":"v1.39 STS","link":"/products/custody/v1.39/get-started/design/guidelines","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.38","label":"v1.38 STS","link":"/products/custody/v1.38/get-started/design/guidelines","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/get-started/design/guidelines","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/get-started/design/guidelines","default":false,"active":true,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/get-started/design/guidelines","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/get-started/design/guidelines","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Design guidelines","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"design-guidelines","__idx":0},"children":["Design guidelines"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following guidelines provide a starting point for governance model design. The specific details of what you need to put in place depend on your own environment."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"system-and-environment","__idx":1},"children":["System and environment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following table gives an overview of the factors relating to your system and environment to take into account when you design your governance model."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Element"},"children":["Element"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Details"},"children":["Details"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Data"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Data management needs to ensure smart usage of data, for example:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Data caching"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Data for fetching policies"]}]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Domain structure"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The domain hierarchy needs to be designed to fit the model, for example:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Whether to implement parallel domains or a single domain hierarchy"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The depth and width of the domain structure"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The number of subdomains associated with each domain"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["User-friendliness of domain names"]}]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"For more information about domains and how the hierarchy affects policies, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.26/overview/governance#domains"},"children":["Domains"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Users"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["User administration needs to take the model into account, for example:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Number of user groups"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Number of users per group"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["User-friendliness of group names"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Usage of technical users (bots)"]}]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"policy-framework","__idx":2},"children":["Policy framework"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following table gives an overview of the factors relating to your policy framework to take into account when you design your governance model."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Element"},"children":["Element"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Factors to consider"},"children":["Factors to consider"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Granularity and spread"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The framework needs to include an approach to policy coverage, for example:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["All-encompassing or very specific"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Granularity:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["MECE approach (mutually exclusive, collectively exhaustive)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Russian doll approach: A stack of increasingly specific policies, for example:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["BTC transfer (rank 100)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["BTC transfer above 2 BTC (rank 50)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["BTC transfer above 2 BTC to a non whitelisted address (rank 20)"]}]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Edge cases"]}]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Failsafe"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A failsafe mechanism needs to be considered, in the form of a breakglass policy. For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.26/get-started/design/policies/breakglass"},"children":["Breakglass policy"]},"."]}]}]}]}]}]},"headings":[{"value":"Design guidelines","id":"design-guidelines","depth":1},{"value":"System and environment","id":"system-and-environment","depth":2},{"value":"Policy framework","id":"policy-framework","depth":2}],"frontmatter":{"seo":{"title":"Design guidelines"}},"lastModified":"2025-11-04T23:32:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/v1.26/get-started/design/guidelines","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}