{"id":12951,"date":"2022-03-28T08:00:18","date_gmt":"2022-03-28T15:00:18","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=12951"},"modified":"2025-06-13T23:14:55","modified_gmt":"2025-06-14T06:14:55","slug":"simplifying-data-governance-with-couchbase-mobile","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/","title":{"rendered":"Simplifying Data Governance with Couchbase Mobile"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Matching the needs of data governance with complex data management policies can be a daunting undertaking for enterprises. In this post, we demonstrate Couchbase Mobile&#8217;s ability to help implement enterprise data retention policies.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">What is Data Governance?<\/span><\/h4>\n<p><span style=\"font-weight: 400\">According to <\/span><a href=\"https:\/\/csrc.nist.gov\/glossary\/term\/data_governance\"><span style=\"font-weight: 400\">NIST<\/span><\/a><span style=\"font-weight: 400\">, Data Governance is \u201c<\/span><i><span style=\"font-weight: 400\">A set of processes that ensures that data assets are formally managed throughout the enterprise. A data governance model establishes authority and management and decision making parameters related to the data produced or managed by the enterprise<\/span><\/i><span style=\"font-weight: 400\">\u201d. In other words, data governance is a core element of data management and encompasses aspects of data privacy and security, integrity, consistency and usability. At a macro level, data governance policies control the flow of data across international borders. That\u2019s a lot to chew on!<\/span><\/p>\n<p><span style=\"font-weight: 400\">Needless to say, data governance has a vast purview. Data management scenarios are even more complex when managing <\/span><i><span style=\"font-weight: 400\">distributed <\/span><\/i><span style=\"font-weight: 400\">islands of data storage. In this post, we focus on a critical aspect of data governance related to the enforcement of data retention policies and show how <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/new-platforms-support-and-advanced-administration-with-couchbase-mobile-3\/\"><span style=\"font-weight: 400\">Couchbase Mobile 3<\/span><\/a><span style=\"font-weight: 400\"> facilitates the same.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Couchbase Mobile addresses several other data governance requirements such as data security and privacy to ensure that only authorized users have <\/span><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/access-control-how.html\"><span style=\"font-weight: 400\">access<\/span><\/a><span style=\"font-weight: 400\"> to the relevant subset of data and that sensitive data <\/span><a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/current\/c\/field-level-encryption.html\"><span style=\"font-weight: 400\">never leaves the edge<\/span><\/a><span style=\"font-weight: 400\">. Those aspects are not discussed in this post.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">Sync Gateway access control model<\/span><\/h4>\n<p><span style=\"font-weight: 400\">First, here is a quick primer on how Couchbase Sync Gateway access control works.<\/span><\/p>\n<h5><span style=\"font-weight: 400\">Granting Document Access<\/span><\/h5>\n<p><span style=\"font-weight: 400\">Every document in the system may be assigned to one or more <\/span><b>channels<\/b><span style=\"font-weight: 400\">. These channels can be user-defined or system-defined. Think of a channel as a <\/span><i><span style=\"font-weight: 400\">tag<\/span><\/i><span style=\"font-weight: 400\"> associated with a document. A channel can have any number of documents, and an application can share a document across multiple channels.<\/span><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-channel-user-diagram.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-12952\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-channel-user-diagram-1024x565.jpg\" alt=\"Couchbase Mobile diagram showing channel and user assignments\" width=\"900\" height=\"497\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-channel-user-diagram-1024x565.jpg 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-channel-user-diagram-300x165.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-channel-user-diagram-768x423.jpg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-channel-user-diagram-1536x847.jpg 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-channel-user-diagram-20x11.jpg 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-channel-user-diagram-1320x728.jpg 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-channel-user-diagram.jpg 1872w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">A user, or a role, is a logical collection of users granted access to a channel. When gaining access to a channel, a user (or a role) is granted access to documents in the channel.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">In the context of Couchbase Mobile, a <\/span><b><i>user<\/i><\/b><span style=\"font-weight: 400\"> can be associated with an individual application user, a device, a store, a factory, a cruise ship, etc. It&#8217;s essentially the endpoint to which the data is synced.<\/span><\/p>\n<p><span style=\"font-weight: 400\">A user can have access to multiple channels and multiple users can share a channel.<\/span><\/p>\n<h5><span style=\"font-weight: 400\">Revoking document access<\/span><\/h5>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-revocation-diagram.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12953\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-revocation-diagram.jpg\" alt=\"Couchbase Mobile revocation diagram\" width=\"720\" height=\"918\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-revocation-diagram.jpg 720w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-revocation-diagram-235x300.jpg 235w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-revocation-diagram-300x383.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-revocation-diagram-16x20.jpg 16w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">A user can lose access to a document in two ways:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">When a document is removed from a channel, the user no longer has access to the document.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">When a user (or role) loses access to a channel, e.g., when channel access is revoked, the user loses access to all documents in the channel.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4><span style=\"font-weight: 400\">Data Retention use cases<\/span><\/h4>\n<p><span style=\"font-weight: 400\">Let\u2019s take a look at a few examples that illustrate the data retention requirements related to data governance.<\/span><\/p>\n<p><b>Enterprise sales teams<\/b><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-sales-use-case.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-12954\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-sales-use-case-823x1024.jpg\" alt=\"Couchbase Mobile enterprise sales use case\" width=\"823\" height=\"1024\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-use-case-823x1024.jpg 823w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-use-case-241x300.jpg 241w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-use-case-768x956.jpg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-use-case-300x373.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-use-case-16x20.jpg 16w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-use-case.jpg 1196w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><\/a><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A sales organization has one channel per sales associate. A channel includes region-specific lead documents.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Bob, a sales associate in charge of <\/span><i><span style=\"font-weight: 400\">Region_East,<\/span><\/i><span style=\"font-weight: 400\"> is temporarily granted access to the <\/span><i><span style=\"font-weight: 400\">Region_West<\/span><\/i><span style=\"font-weight: 400\"> channel. Bob now has access to lead documents in <\/span><i><span style=\"font-weight: 400\">Region_West<\/span><\/i><span style=\"font-weight: 400\"> and syncs them to his device.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A new associate is hired to take over the West region and Bob should no longer have access to those leads. So access to the <\/span><i><span style=\"font-weight: 400\">Region_West<\/span><\/i><span style=\"font-weight: 400\"> channel is revoked.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Bob should also no longer have access to previously synced documents.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>Cruise lines<\/b><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-sales-cruiseship-use-case.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-12955\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-sales-cruiseship-use-case-1024x701.jpg\" alt=\"Couchbase Mobile cruise ship use case\" width=\"900\" height=\"616\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-cruiseship-use-case-1024x701.jpg 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-cruiseship-use-case-300x205.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-cruiseship-use-case-768x526.jpg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-cruiseship-use-case-235x160.jpg 235w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-cruiseship-use-case-20x14.jpg 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-cruiseship-use-case-1320x904.jpg 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-sales-cruiseship-use-case.jpg 1536w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A cruise line treats each ship as an application user.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">At the start of the voyage, the ship is granted access to voyage documents that are pulled down from the backend systems in the cloud.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">At the completion of the voyage, the ship is revoked access to the voyage channel.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Ships should no longer have access to the previously synced voyage documents.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>Retail store<\/b><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-retail-use-case.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-12956\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-retail-use-case-1024x672.jpg\" alt=\"Couchbase Mobile retail use case\" width=\"900\" height=\"591\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-retail-use-case-1024x672.jpg 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-retail-use-case-300x197.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-retail-use-case-768x504.jpg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-retail-use-case-1536x1009.jpg 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-retail-use-case-20x13.jpg 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-retail-use-case-1320x867.jpg 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-retail-use-case.jpg 1596w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A retail organization has a channel per store. A channel includes documents specific to a store.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A backend service creates store-targeted promotions and syncs them to each store<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Periodically, when the promotion is over, a backend process moves discontinued promotions from a store\u2019s \u201cactive\u201d channel to an \u201carchive\u201d channel.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The store should no longer have the previously synced promotions that are now archived<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4><span style=\"font-weight: 400\">Couchbase Mobile and data retention<\/span><\/h4>\n<p><span style=\"font-weight: 400\">In each of the distributed environments above, the requirement is that previously synced documents must be removed from the client. The enforcement of data retention policies and the guarantee that users can no longer access documents to which access is revoked is a cornerstone of data governance.<\/span><\/p>\n<p><span style=\"font-weight: 400\">And this has to be supported regardless of whether the replication endpoint is Couchbase Lite or Sync Gateway.<\/span><\/p>\n<h5><span style=\"font-weight: 400\">Couchbase Lite client replication<\/span><\/h5>\n<p><span style=\"font-weight: 400\">When a Couchbase Lite user loses access to a document, either due to document removal or channel access revocation, the document is <\/span><i><span style=\"font-weight: 400\">automatically<\/span><\/i><span style=\"font-weight: 400\"> purged from the user\u2019s device! There is no additional business logic or code required on part of the user to enable this. So, considering the <\/span><i><span style=\"font-weight: 400\">Enterprise Sales Org<\/span><\/i><span style=\"font-weight: 400\"> example above, as soon as Bob loses access to the <\/span><i><span style=\"font-weight: 400\">Region_west<\/span><\/i><span style=\"font-weight: 400\"> channel, all the previously synced documents from that channel are automatically purged from his device. Therefore, guaranteeing that Bob no longer has access to unauthorized data.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Applications have the option of overriding this default behavior using a config option. Apps can also register for an <\/span><i><span style=\"font-weight: 400\">Access Removed<\/span><\/i><span style=\"font-weight: 400\"> event that informs the app when the user has lost access to the document. This is shown in the code snippet below:<\/span><\/p>\n<pre class=\"decode-attributes:false lang:java decode:true \">\/\/ create replicator config\u00a0\r\nvar config = ReplicatorConfiguration.init(database: db, target: sgwUrl)\r\n\r\nconfig.enableAutoPurge = true \/\/ Override default auto purge behavior\u00a0\r\n\r\nconfig.replicatorType = .pushAndPull\u00a0\r\n\/\/ ... add other config options\r\n\r\n\/\/ create replicator\r\n_pushPullRepl = Replicator.init(config: config)\u00a0\u00a0\r\n\r\n_ = _pushPullRepl?.addDocumentReplicationListener({ (docRepl) in\r\n\u00a0\/\/ Listen for Access Removed status notification\r\n})\r\n_pushPullRepl?.start()<\/pre>\n<p><span style=\"font-weight: 400\">Furthermore, in the case of <\/span><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/auto-purge-channel-access-revocation.html\"><span style=\"font-weight: 400\">channel access revocation<\/span><\/a><span style=\"font-weight: 400\"> (introduced in <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/new-platforms-support-and-advanced-administration-with-couchbase-mobile-3\/\"><span style=\"font-weight: 400\">Couchbase Mobile 3<\/span><\/a><span style=\"font-weight: 400\">), Sync Gateway identifies if the user has access to the document via some other channel. It then notifies Couchbase Lite of the document access removal if the document is not accessible via any of the user\u2019s channels.<\/span><\/p>\n<h5><span style=\"font-weight: 400\">Inter-Sync Gateway replication<\/span><\/h5>\n<p><span style=\"font-weight: 400\">In the case of inter-Sync Gateway replication, when the replicating user on the target cluster loses access to a document, the active Sync Gateway cluster can be configured to auto-purge the document. For example, in the cruise ship use case, you would have replications set up between the ship and the shore\u2014with the ship being the active cluster that initiates replications. When the voyage ends, the ship loses access to the channel and the voyage-specific documents are automatically purged from the ship.<\/span><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-auto-purge-revocation.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-12957\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/03\/couchbase-mobile-auto-purge-revocation-905x1024.jpg\" alt=\"Couchbase Mobile auto-purge revocation\" width=\"900\" height=\"1018\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-auto-purge-revocation-905x1024.jpg 905w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-auto-purge-revocation-265x300.jpg 265w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-auto-purge-revocation-768x869.jpg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-auto-purge-revocation-300x339.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-auto-purge-revocation-18x20.jpg 18w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/couchbase-mobile-auto-purge-revocation.jpg 1096w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<h4><span style=\"font-weight: 400\">Summary<\/span><\/h4>\n<p><span style=\"font-weight: 400\">In this post, we briefly discussed the importance of aligning data retention policies with data governance objectives. It is imperative that a data platform facilitate such compliance as it is an integral aspect of data management for all enterprises.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Couchbase Mobile\u2019s out-of-the-box support for auto purging of local documents on access revocation guarantees that only authorized users retain access to documents. Likewise, the fine-grained access control, comprehensive data filters, encryption of data at rest and transit, authentication and authorization help to support other key aspects of data governance.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">Next steps<\/span><\/h4>\n<p><span style=\"font-weight: 400\">Download <\/span><a href=\"https:\/\/www.couchbase.com\/downloads?family=sync-gateway\"><span style=\"font-weight: 400\">Couchbase Mobile<\/span><\/a><span style=\"font-weight: 400\"> and try it for free. The <\/span><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/3.0\/configuration-overview.html\"><span style=\"font-weight: 400\">documentation<\/span><\/a><span style=\"font-weight: 400\"> pages are an excellent resource for more information and the <\/span><a href=\"https:\/\/www.couchbase.com\/forums\/\"><span style=\"font-weight: 400\">Couchbase Dev Forums<\/span><\/a><span style=\"font-weight: 400\"> are a great place to reach out to experts and other Couchbase developers.<\/span><\/p>\n<p><span style=\"font-weight: 400\">If you have questions or feedback, please leave a comment below or feel free to reach out to me via <\/span><a href=\"https:\/\/twitter.com\/rajagp\"><span style=\"font-weight: 400\">Twitter<\/span><\/a><span style=\"font-weight: 400\"> or <\/span><span style=\"font-weight: 400\">email<\/span><span style=\"font-weight: 400\">.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">Resources<\/span><\/h4>\n<p><span style=\"font-weight: 400\">The following resources are referenced in this post:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/csrc.nist.gov\/glossary\/term\/data_governance\"><span style=\"font-weight: 400\">NIST &#8211; Data Governance glossary<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/blog\/new-platforms-support-and-advanced-administration-with-couchbase-mobile-3\/\"><span style=\"font-weight: 400\">Couchbase Mobile 3 &#8211; new advanced administration features (Blog post)<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/access-control-how.html\"><span style=\"font-weight: 400\">Access control how-to in Sync Gateway (docs)<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/current\/c\/field-level-encryption.html\"><span style=\"font-weight: 400\">Field-level encryption in Couchbase Lite (docs)<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/current\/auto-purge-channel-access-revocation.html\"><span style=\"font-weight: 400\">Channel access revocation in Sync Gateway (docs)<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/downloads?family=sync-gateway\"><span style=\"font-weight: 400\">Couchbase Mobile &#8211; download link<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/sync-gateway\/3.0\/configuration-overview.html\"><span style=\"font-weight: 400\">Couchbase Sync Gateway documentation<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/developers\/mobile\/\"><span style=\"font-weight: 400\">Couchbase Developer Portal &#8211; Mobile apps<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/forums\/\"><span style=\"font-weight: 400\">Couchbase Developer Forums<\/span><\/a><\/li>\n<\/ul>\n<h4><span style=\"font-weight: 400\">Acknowledgment<\/span><\/h4>\n<p><span style=\"font-weight: 400\">I would like to thank\u00a0 <\/span><a href=\"https:\/\/github.com\/adamcfraser\"><span style=\"font-weight: 400\">Adam Fraser<\/span><\/a><span style=\"font-weight: 400\"> for his input on the blog post.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Matching the needs of data governance with complex data management policies can be a daunting undertaking for enterprises. In this post, we demonstrate Couchbase Mobile&#8217;s ability to help implement enterprise data retention policies. What is Data Governance? According to NIST, [&hellip;]<\/p>\n","protected":false},"author":1423,"featured_media":12385,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1810,7666,1813,2366],"tags":[9546,9547,1962],"ppma_author":[8948],"class_list":["post-12951","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-mobile","category-edge-computing","category-security","category-sync-gateway","tag-data-governance","tag-data-retention","tag-role-based-access-control"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Simplifying Data Governance with Couchbase Mobile - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Data governance and complex data management policies can be daunting for enterprises. Here&#039;s how Couchbase Mobile helps with data retention policies.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simplifying Data Governance with Couchbase Mobile\" \/>\n<meta property=\"og:description\" content=\"Data governance and complex data management policies can be daunting for enterprises. Here&#039;s how Couchbase Mobile helps with data retention policies.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-28T15:00:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:14:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1697\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rajagp\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/\"},\"author\":{\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\"},\"headline\":\"Simplifying Data Governance with Couchbase Mobile\",\"datePublished\":\"2022-03-28T15:00:18+00:00\",\"dateModified\":\"2025-06-14T06:14:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/\"},\"wordCount\":1260,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg\",\"keywords\":[\"data governance\",\"data retention\",\"Role Based Access Control (RBAC)\"],\"articleSection\":[\"Couchbase Mobile\",\"Edge computing\",\"Security\",\"Sync Gateway\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/\",\"name\":\"Simplifying Data Governance with Couchbase Mobile - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg\",\"datePublished\":\"2022-03-28T15:00:18+00:00\",\"dateModified\":\"2025-06-14T06:14:55+00:00\",\"description\":\"Data governance and complex data management policies can be daunting for enterprises. Here's how Couchbase Mobile helps with data retention policies.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg\",\"width\":2560,\"height\":1697},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simplifying Data Governance with Couchbase Mobile\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\",\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"caption\":\"Priya Rajagopal, Senior Director, Product Management\"},\"description\":\"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.\",\"sameAs\":[\"https:\/\/x.com\/rajagp\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/priya-rajagopalcouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Simplifying Data Governance with Couchbase Mobile - The Couchbase Blog","description":"Data governance and complex data management policies can be daunting for enterprises. Here's how Couchbase Mobile helps with data retention policies.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/","og_locale":"en_US","og_type":"article","og_title":"Simplifying Data Governance with Couchbase Mobile","og_description":"Data governance and complex data management policies can be daunting for enterprises. Here's how Couchbase Mobile helps with data retention policies.","og_url":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/","og_site_name":"The Couchbase Blog","article_published_time":"2022-03-28T15:00:18+00:00","article_modified_time":"2025-06-14T06:14:55+00:00","og_image":[{"width":2560,"height":1697,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg","type":"image\/jpeg"}],"author":"Priya Rajagopal, Senior Director, Product Management","twitter_card":"summary_large_image","twitter_creator":"@rajagp","twitter_misc":{"Written by":"Priya Rajagopal, Senior Director, Product Management","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/"},"author":{"name":"Priya Rajagopal, Senior Director, Product Management","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c"},"headline":"Simplifying Data Governance with Couchbase Mobile","datePublished":"2022-03-28T15:00:18+00:00","dateModified":"2025-06-14T06:14:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/"},"wordCount":1260,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg","keywords":["data governance","data retention","Role Based Access Control (RBAC)"],"articleSection":["Couchbase Mobile","Edge computing","Security","Sync Gateway"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/","url":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/","name":"Simplifying Data Governance with Couchbase Mobile - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg","datePublished":"2022-03-28T15:00:18+00:00","dateModified":"2025-06-14T06:14:55+00:00","description":"Data governance and complex data management policies can be daunting for enterprises. Here's how Couchbase Mobile helps with data retention policies.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/10\/muhammad-raufan-yusup-rYRE6ju-2K8-unsplash-scaled.jpg","width":2560,"height":1697},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/simplifying-data-governance-with-couchbase-mobile\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Simplifying Data Governance with Couchbase Mobile"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c","name":"Priya Rajagopal, Senior Director, Product Management","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734","url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","caption":"Priya Rajagopal, Senior Director, Product Management"},"description":"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.","sameAs":["https:\/\/x.com\/rajagp"],"url":"https:\/\/www.couchbase.com\/blog\/author\/priya-rajagopalcouchbase-com\/"}]}},"authors":[{"term_id":8948,"user_id":1423,"is_guest":0,"slug":"priya-rajagopalcouchbase-com","display_name":"Priya Rajagopal, Senior Director, Product Management","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","author_category":"","last_name":"Rajagopal, Senior Director, Product Management","first_name":"Priya","job_title":"","user_url":"","description":"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/12951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/1423"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=12951"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/12951\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/12385"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=12951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=12951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=12951"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=12951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}