{"id":4612,"date":"2014-07-03T16:05:25","date_gmt":"2014-07-03T23:05:25","guid":{"rendered":"http:\/\/bittorrent.gyre.wpengine.com\/?p=4612"},"modified":"2022-10-04T15:46:51","modified_gmt":"2022-10-04T22:46:51","slug":"sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work","status":"publish","type":"post","link":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work","title":{"rendered":"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work"},"content":{"rendered":"<p><em>Developing on the BitTorrent Sync API? Our developer evangelist is here to work with you.<br \/>\n<\/em><br \/>\nThe most common question I field from developers building on the Sync API involves the various types of keys you can generate and how they differ. Keys were formerly called &#8220;Secrets&#8221;. Today, we take a closer look at this topic.<br \/>\n<!--more--><br \/>\nLet&#8217;s start with the basics. Keys are Sync\u2019s way of connecting different devices and joining them together. You&#8217;ll first encounter a key when adding a new folder in BitTorrent Sync.<\/p>\n<p>The key is randomly generated to ensure its uniqueness and is generally safer than the traditional login\/password combination, where some users will invariably use a permutation of their name, pet&#8217;s name, birthdate, etc. &#8211; a combination that a good dictionary file or Rainbow Tables can compromise. These user-chosen credentials essentially provide a false sense of security. Sync gets a stream of bytes from the random number generator on your device, which are then converted into an alphanumeric format (33 characters in length) to create<span style=\"line-height: 1.5em;\">\u00a0the folder&#8217;s key<\/span><span style=\"line-height: 1.5em;\">\u00a0(e.g. BJKEDO89DK8EJG3KD7GID35KDOBY70DK2 &#8211; note that this and all subsequent keys are not working keys).\u00a0<\/span><\/p>\n<p>So how does Sync ingest these\u00a0keys? When the client reads in a key, it looks at the first character to determine what type of key it is dealing with and how to proceed. The data used by Sync is comprised of everything following the first character.<\/p>\n<p>Initially, keys were creating according to this pattern:<\/p>\n<p><em><i>The examples below intentionally use the same letter for demonstration purposes.<\/i><\/em><\/p>\n<pre>Read\/Write keys begin with A\n    Example: <b>A<\/b>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA<\/pre>\n<pre>Read Only keys begin with B\n    Example: <strong>B<\/strong>BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB<\/pre>\n<pre>One-Time keys begin with C\n    Example: <b>C<\/b>CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC<\/pre>\n<p><span style=\"line-height: 1.5em;\">After adding encryption support, we added:<\/span><\/p>\n<pre>Read\/Write keys begin with D\n    Example: <b>D<\/b>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\n\nRead Only keys begin with E\n    Example: <b>E<\/b>FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFZZZZZZZZZZZZZZZZZZZZZZZZZZ \n\nEncrypted Read Only keys begin with F\n    Example: <b>F<\/b>FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF \n\nOne-Time keys begin with C (no change)\n    Example: <b>C<\/b>CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC<\/pre>\n<p><em>Note:\u00a0<i>Keys with encryption support are only available through the\u00a0<\/i><a href=\"http:\/\/www.bittorrent.com\/sync\/developers\">developer API<\/a>.<\/em><\/p>\n<p>Do you see a pattern\/similarity between any of those keys? Curious about why the Encrypted Read Only key is almost the same as the first half of the Read Only key? Here&#8217;s how that works:<\/p>\n<pre>Encrypted Read Only key + Unlock Key = Read Only key\nFWX2ZZNRTHKJOFAZ6WY7SSOHZUF4WRGRD + 6627O7M6NXN6T2WAL5ZO2VVKKI = EWX2ZZNRTHKJOFAZ6WY7SSOHZUF4WRGRD6627O7M6NXN6T2WAL5ZO2VVKKI<\/pre>\n<p>This &#8216;unlock key&#8217; consists of the last 26 characters of the Read Only key &#8211; denoted with Z&#8217;s above.<\/p>\n<p>With both the Read Only and Encrypted keys, peers are always handling encrypted versions of the files &#8211; the difference is that the Read Only peers are able to decrypt the files because they have the requisite token for decryption.\u00a0Encrypted keys don&#8217;t have this unlock token.<\/p>\n<p><span style=\"line-height: 1.5em;\">One-Time keys are a bit more interesting. The process for using a One-Time key looks like this:\u00a0<\/span><\/p>\n<ul>\n<li><span style=\"line-height: 1.5em;\">Client generates a One-Time use key <\/span><\/li>\n<li><span style=\"line-height: 1.5em;\">User then sends the key off to the recipient<\/span><\/li>\n<li><span style=\"line-height: 1.5em;\">Recipient&#8217;s client discovers the host client using the key<\/span><\/li>\n<li><span style=\"line-height: 1.5em;\">The two peers set up a secure channel <\/span><\/li>\n<li><span style=\"line-height: 1.5em;\">Host client sends over the real Read\/Write or Read-Only key through that channel<\/span><\/li>\n<\/ul>\n<p>One-Time keys therefore aren&#8217;t tied cryptographically in any way to the Read\/Write, Read-Only or Encrypted keys &#8211; they simply act as the &#8220;token&#8221; that can be redeemed for one of the real keys. This is why it is necessary for the host to be online.<\/p>\n<p>This should be a good overview of the different types of keys in the Sync ecosystem. What questions do you have about keys and how they work? What Sync technologies would you like to see covered next? Let us know in the comments section!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Developing on the BitTorrent Sync API? Our developer evangelist is here to work with you. The most common question I field from developers building on the Sync API involves the various types of keys you can generate and how they differ. Keys were formerly called &#8220;Secrets&#8221;. Today, we take a closer look at this topic.<\/p>\n","protected":false},"author":1,"featured_media":4632,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[58,261,64],"class_list":["post-4612","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-bittorrent-sync","tag-hide-in-search-results","tag-sync-api"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work | Resilio Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work | Resilio Blog\" \/>\n<meta property=\"og:description\" content=\"Developing on the BitTorrent Sync API? Our developer evangelist is here to work with you. The most common question I field from developers building on the Sync API involves the various types of keys you can generate and how they differ. Keys were formerly called &#8220;Secrets&#8221;. Today, we take a closer look at this topic.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work\" \/>\n<meta property=\"og:site_name\" content=\"Resilio Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-03T23:05:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-04T22:46:51+00:00\" \/>\n<meta name=\"author\" content=\"wpengine\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"wpengine\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work\"},\"author\":{\"name\":\"wpengine\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/e44f4c858e4528965ead5df70e0ae2a4\"},\"headline\":\"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work\",\"datePublished\":\"2014-07-03T23:05:25+00:00\",\"dateModified\":\"2022-10-04T22:46:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work\"},\"wordCount\":544,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#primaryimage\"},\"thumbnailUrl\":\"\",\"keywords\":[\"bittorrent sync\",\"hide in search results\",\"sync api\"],\"articleSection\":[\"Tech\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work\",\"url\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work\",\"name\":\"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work | Resilio Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2014-07-03T23:05:25+00:00\",\"dateModified\":\"2022-10-04T22:46:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.resilio.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#website\",\"url\":\"https:\/\/blog.resilio.com\/blog\/\",\"name\":\"Resilio Blog\",\"description\":\"Explore Common Use cases, How to&#039;s, Comparisons &amp; More\",\"publisher\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.resilio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#organization\",\"name\":\"Resilio\",\"url\":\"https:\/\/blog.resilio.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.resilio.com\/wp-content\/uploads\/2024\/05\/cropped-resilio-icon-digital-navy-background.png\",\"contentUrl\":\"https:\/\/blog.resilio.com\/wp-content\/uploads\/2024\/05\/cropped-resilio-icon-digital-navy-background.png\",\"width\":512,\"height\":512,\"caption\":\"Resilio\"},\"image\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/resilio-inc.\",\"https:\/\/youtube.com\/resilio\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/e44f4c858e4528965ead5df70e0ae2a4\",\"name\":\"wpengine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g\",\"caption\":\"wpengine\"},\"description\":\"This is the \\\"wpengine\\\" admin user that our staff uses to gain access to your admin area to provide support and troubleshooting. It can only be accessed by a button in our secure log that auto generates a password and dumps that password after the staff member has logged in. We have taken extreme measures to ensure that our own user is not going to be misused to harm any of our clients sites.\",\"sameAs\":[\"http:\/\/wpengine.com\"],\"url\":\"https:\/\/blog.resilio.com\/blog\/author\/wpengine\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work | Resilio Blog","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:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work","og_locale":"en_US","og_type":"article","og_title":"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work | Resilio Blog","og_description":"Developing on the BitTorrent Sync API? Our developer evangelist is here to work with you. The most common question I field from developers building on the Sync API involves the various types of keys you can generate and how they differ. Keys were formerly called &#8220;Secrets&#8221;. Today, we take a closer look at this topic.","og_url":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work","og_site_name":"Resilio Blog","article_published_time":"2014-07-03T23:05:25+00:00","article_modified_time":"2022-10-04T22:46:51+00:00","author":"wpengine","twitter_card":"summary_large_image","twitter_misc":{"Written by":"wpengine","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#article","isPartOf":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work"},"author":{"name":"wpengine","@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/e44f4c858e4528965ead5df70e0ae2a4"},"headline":"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work","datePublished":"2014-07-03T23:05:25+00:00","dateModified":"2022-10-04T22:46:51+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work"},"wordCount":544,"commentCount":0,"publisher":{"@id":"https:\/\/blog.resilio.com\/blog\/#organization"},"image":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#primaryimage"},"thumbnailUrl":"","keywords":["bittorrent sync","hide in search results","sync api"],"articleSection":["Tech"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work","url":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work","name":"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work | Resilio Blog","isPartOf":{"@id":"https:\/\/blog.resilio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#primaryimage"},"image":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#primaryimage"},"thumbnailUrl":"","datePublished":"2014-07-03T23:05:25+00:00","dateModified":"2022-10-04T22:46:51+00:00","breadcrumb":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.resilio.com\/blog"},{"@type":"ListItem","position":2,"name":"Sync Dev: A Look Into How Keys (Formerly Known as Secrets) Work"}]},{"@type":"WebSite","@id":"https:\/\/blog.resilio.com\/blog\/#website","url":"https:\/\/blog.resilio.com\/blog\/","name":"Resilio Blog","description":"Explore Common Use cases, How to&#039;s, Comparisons &amp; More","publisher":{"@id":"https:\/\/blog.resilio.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.resilio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/blog.resilio.com\/blog\/#organization","name":"Resilio","url":"https:\/\/blog.resilio.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/blog.resilio.com\/wp-content\/uploads\/2024\/05\/cropped-resilio-icon-digital-navy-background.png","contentUrl":"https:\/\/blog.resilio.com\/wp-content\/uploads\/2024\/05\/cropped-resilio-icon-digital-navy-background.png","width":512,"height":512,"caption":"Resilio"},"image":{"@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/resilio-inc.","https:\/\/youtube.com\/resilio"]},{"@type":"Person","@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/e44f4c858e4528965ead5df70e0ae2a4","name":"wpengine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g","caption":"wpengine"},"description":"This is the \"wpengine\" admin user that our staff uses to gain access to your admin area to provide support and troubleshooting. It can only be accessed by a button in our secure log that auto generates a password and dumps that password after the staff member has logged in. We have taken extreme measures to ensure that our own user is not going to be misused to harm any of our clients sites.","sameAs":["http:\/\/wpengine.com"],"url":"https:\/\/blog.resilio.com\/blog\/author\/wpengine"}]}},"_links":{"self":[{"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/posts\/4612","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/comments?post=4612"}],"version-history":[{"count":0,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/posts\/4612\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/media?parent=4612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/categories?post=4612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/tags?post=4612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}