{"id":7441,"date":"2025-09-15T09:56:10","date_gmt":"2025-09-15T09:56:10","guid":{"rendered":"https:\/\/gitprotect.io\/blog\/?p=7441"},"modified":"2025-09-24T07:10:24","modified_gmt":"2025-09-24T07:10:24","slug":"gitprotect-2-0-5-more-access-control-and-predictability","status":"publish","type":"post","link":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/","title":{"rendered":"GitProtect 2.0.5: More Access Control and Predictability"},"content":{"rendered":"\n<p><strong>GitProtect 2.0.5 version focuses on a more predictable recovery and access control. The console now enforces 2FA when users enter through SSO or SAML. So, access to backup and restore actions requires a second factor at the point of use. Additionally, bulk restores no longer depend on a single token\u2019s rate limit, and Jira jobs are less brittle as well, with automatic detection of expired Personal Access Tokens.<\/strong><\/p>\n\n\n\n<!--more-->\n\n\n\n<p>The new version is not a redesign. It\u2019s tightening the places that may usually creak under more pressure. Learn more about the details below.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Platform-level 2FA for SSO\/SAML logins<\/strong><\/h2>\n\n\n\n<p>Until now, 2FA lived mostly at the identity provider. In 2.0.5, GitProtect asks for a second factor at the console even when the user&#8217;s access is via SSO or SAML. That closes the common gap where a leaked session token or a loose IdP policy lets someone straight into backup and restore controls.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"979\" height=\"921\" src=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/2FA-1.png\" alt=\"2FA with GitProtect\" class=\"wp-image-7451\" style=\"width:500px;height:auto\" srcset=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/2FA-1.png 979w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/2FA-1-300x282.png 300w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/2FA-1-768x723.png 768w, https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/2FA-1-400x376.png 400w\" sizes=\"(max-width: 979px) 100vw, 979px\" \/><\/figure><\/div>\n\n\n<p>The direction is clear: make 2FA universal, then remove exceptions that linger forever. You\u2019ll notice it most on bad days, when one extra prompt stops a destructive change from going through.<\/p>\n\n\n\n<p>\ud83c\udfa5 <strong><em>Are you a visual learner? Check how to set up your 2FA and ensure even better security of your DevOps data:<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"atbs-responsive-video\"><iframe loading=\"lazy\" title=\"Enhancing security with 2FA\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/bbvHgUd1FGI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Faster multi-repo restores under API limits<\/strong><\/h2>\n\n\n\n<p>Backups have long supported additional credentials to raise API request ceilings for GitHub, GitLab,&nbsp; Bitbucket, and Azure DevOps. GitProtect 2.0.5 version applies the same idea to <strong>restore<\/strong>. When you need to bring back dozens or hundreds of repositories, Git providers enforce strict rate limits &#8211; one token bottlenecks throughput.&nbsp;<\/p>\n\n\n\n<p>With credential pooling at restore time, calls spread across tokens, so wall-clock drops and the job stays inside the change window. The model is straightforward: more lanes, same traffic rules, fewer jams.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Restore an Azure DevOps project with matched repos from a selected backup<\/strong><\/h2>\n\n\n\n<p>GitProtect version 2.0.5 introduces a new setting &#8211; <em>Restore repositories from this project\u2019s backup copy<\/em>.&nbsp;<\/p>\n\n\n\n<p>This ensures that all repositories recovered with the project come from the exact same backup set. In practice, it means that when restoring an Azure DevOps project, only repositories included in that specific backup are restored \u2014 guaranteeing data consistency at the time of backup.&nbsp;<\/p>\n\n\n\n<p>\ud83c\udfa5 W<strong><em>atch on practice how, with GitProtect 2.0.5 Update, you can strengthen the Git restore process<\/em><\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"atbs-responsive-video\"><iframe loading=\"lazy\" title=\"Enhancing the Git Restore Process with Azure DevOps and GitProtect\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/2p3bDUEb8o0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Jira PAT expiry awareness<\/strong><\/h2>\n\n\n\n<p>Atlassian moved Personal Access Tokens to fixed lifetimes and is retrofitting older keys. The practical effect used to be predictable. A backup job would pass, pass, pass\u2026 the fail after a quiet expiry.&nbsp;<\/p>\n\n\n\n<p>GitProtect 2.0.5 detects expired Jira PATs and emails the right people before it bites. You rotate the token, run a quick validation backup, and carry on. No drama and no mystery tickets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What to track after the upgrade<\/strong><\/h2>\n\n\n\n<p>Treat these as proof points, not some guessed paperwork.<br><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Area<\/strong><\/td><td><strong>Proof point<\/strong><\/td><td><strong>Evidence source<\/strong><\/td><td><strong>Pass criteria<\/strong><\/td><td><strong>Review cadence<\/strong><\/td><\/tr><tr><td>Access control<\/td><td>2FA coverage for interactive<br>user holds at <strong>100%<\/strong><\/td><td>IdP (Okta, Entra, KeyCloak, etc.) 2FA report and GitProtect\/Xopero auth logs<\/td><td>&#8211;<strong> 100%<\/strong> enrolled and enforced,<br>&#8211; <strong>0<\/strong> standing exceptions<\/td><td>Monthly attestation<\/td><\/tr><tr><td>Recovery (Git)<\/td><td>Multi-repo restore drills complete without rate-limit stalls using pooled credentials<\/td><td>Drill transport, restore job logs, provider API telemetry<br><\/td><td>&#8211; Drill finishes inside the change&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window,<br>&#8211; <strong>0<\/strong> throttle-included pauses &nbsp;<br>&nbsp; or retries beyond baseline<\/td><td>Quarterly drill<\/td><\/tr><tr><td>Jira backup continuity<\/td><td>PAT expiry triggers an alert on job fails, rotation kicks in, and the next run succeeds<\/td><td>Alert emails, token inventory with expiry, subsequent backup job ID, and status<\/td><td>&#8211; Alert received pre-expiry,<br>&nbsp; token rotated before cutoff,<br>&#8211; next scheduled job succeeds<br>&nbsp; with&nbsp; no errors<\/td><td>Rolling<br>(track each rotation)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The practical takeaway<\/strong><\/h2>\n\n\n\n<p>GitProtect 2.0.5 hardens the one thing you can\u2019t outsource &#8211; control over your backup console. The new version removes two operational sandtraps, meaning throttled bulk restores and expiring Jira tokens.<\/p>\n\n\n\n<p>It doesn\u2019t ask you to rebuild your architecture.&nbsp;<\/p>\n\n\n\n<p>Turn on 2FA for everyone who clicks <em>Restore<\/em>. Stage a batched restore to measure the new ceiling, and add PAT rotation to your calendar if you haven\u2019t already. In turn, you can expect short steps, visible gains, and fewer surprises.<\/p>\n\n\n\n<p>Other updates include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>improved task labels and search, which makes it easier to distinguish backup tasks from restore or storage replication tasks,<\/li>\n\n\n\n<li>enhanced field verification and reuse, which keeps the Jira environment organized and simplifies field management,<\/li>\n\n\n\n<li>clarified error message displayed during the Git repository restore process to help users identify the problem faster and resolve it more effectively,<\/li>\n\n\n\n<li>optimized loading in Jira Granular Restore.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-background\" style=\"background-color:#f4fafe\">We invite you to explore the latest features of GitProtect!<br>Try them for yourself by <a href=\"https:\/\/gitprotect.io\/login.html\" target=\"_blank\" rel=\"noreferrer noopener\">logging into your GitProtect account<\/a> or start a <a href=\"https:\/\/gitprotect.io\/sign-up.html\" target=\"_blank\" rel=\"noreferrer noopener\">free trial<\/a> today!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitProtect 2.0.5 version focuses on a more predictable recovery and access control. The console now enforces 2FA when users enter through SSO or SAML. So, access to backup and restore actions requires a second factor at the point of use. Additionally, bulk restores no longer depend on a single token\u2019s rate limit, and Jira jobs are less brittle as well, with automatic detection of expired Personal Access Tokens.<\/p>\n","protected":false},"author":16,"featured_media":7447,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-7441","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","post--single"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>GitProtect 2.0.5: More Access Control and Predictability - Blog | GitProtect.io<\/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:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GitProtect 2.0.5: More Access Control and Predictability - Blog | GitProtect.io\" \/>\n<meta property=\"og:description\" content=\"GitProtect 2.0.5 version focuses on a more predictable recovery and access control. The console now enforces 2FA when users enter through SSO or SAML. So, access to backup and restore actions requires a second factor at the point of use. Additionally, bulk restores no longer depend on a single token\u2019s rate limit, and Jira jobs are less brittle as well, with automatic detection of expired Personal Access Tokens.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog | GitProtect.io\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/XoperoSoftware\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-15T09:56:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-24T07:10:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Wojciech Andryszek, Technical Content Writer at GitProtect.io\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:site\" content=\"@GitProtectio\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wojciech Andryszek, Technical Content Writer at GitProtect.io\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/\"},\"author\":{\"name\":\"Wojciech Andryszek, Technical Content Writer at GitProtect.io\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/967901c0176390b9c3fa15c5da47f37b\"},\"headline\":\"GitProtect 2.0.5: More Access Control and Predictability\",\"datePublished\":\"2025-09-15T09:56:10+00:00\",\"dateModified\":\"2025-09-24T07:10:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/\"},\"wordCount\":798,\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png\",\"articleSection\":[\"News\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/\",\"name\":\"GitProtect 2.0.5: More Access Control and Predictability - Blog | GitProtect.io\",\"isPartOf\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png\",\"datePublished\":\"2025-09-15T09:56:10+00:00\",\"dateModified\":\"2025-09-24T07:10:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#primaryimage\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png\",\"width\":1200,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/gitprotect.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GitProtect 2.0.5: More Access Control and Predictability\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#website\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"name\":\"GitProtect.io Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gitprotect.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#organization\",\"name\":\"GitProtect.io\",\"url\":\"https:\/\/gitprotect.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png\",\"width\":528,\"height\":528,\"caption\":\"GitProtect.io\"},\"image\":{\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/XoperoSoftware\/\",\"https:\/\/x.com\/GitProtectio\",\"https:\/\/www.linkedin.com\/company\/xopero-software\/\",\"https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/967901c0176390b9c3fa15c5da47f37b\",\"name\":\"Wojciech Andryszek, Technical Content Writer at GitProtect.io\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/10\/wojciech-andryszek-technical-content-writer-at-gitprotect.io_avatar-96x96.jpg\",\"contentUrl\":\"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/10\/wojciech-andryszek-technical-content-writer-at-gitprotect.io_avatar-96x96.jpg\",\"caption\":\"Wojciech Andryszek, Technical Content Writer at GitProtect.io\"},\"description\":\"Wojtek is a Technical Content Writer at GitProtect. As a science journalist under his belt, he enjoys all kinds of knowledge. When writing about tech, Wojtek plays the role of an IT professional as well as his opposite - like Dr. Jekyll and Mr. Hyde. ;)\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/wojciech-andryszek\/\"],\"url\":\"https:\/\/gitprotect.io\/blog\/author\/wojciech-andryszek\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GitProtect 2.0.5: More Access Control and Predictability - Blog | GitProtect.io","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:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/","og_locale":"en_US","og_type":"article","og_title":"GitProtect 2.0.5: More Access Control and Predictability - Blog | GitProtect.io","og_description":"GitProtect 2.0.5 version focuses on a more predictable recovery and access control. The console now enforces 2FA when users enter through SSO or SAML. So, access to backup and restore actions requires a second factor at the point of use. Additionally, bulk restores no longer depend on a single token\u2019s rate limit, and Jira jobs are less brittle as well, with automatic detection of expired Personal Access Tokens.","og_url":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/","og_site_name":"Blog | GitProtect.io","article_publisher":"https:\/\/www.facebook.com\/XoperoSoftware\/","article_published_time":"2025-09-15T09:56:10+00:00","article_modified_time":"2025-09-24T07:10:24+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png","type":"image\/png"}],"author":"Wojciech Andryszek, Technical Content Writer at GitProtect.io","twitter_card":"summary_large_image","twitter_creator":"@GitProtectio","twitter_site":"@GitProtectio","twitter_misc":{"Written by":"Wojciech Andryszek, Technical Content Writer at GitProtect.io","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#article","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/"},"author":{"name":"Wojciech Andryszek, Technical Content Writer at GitProtect.io","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/967901c0176390b9c3fa15c5da47f37b"},"headline":"GitProtect 2.0.5: More Access Control and Predictability","datePublished":"2025-09-15T09:56:10+00:00","dateModified":"2025-09-24T07:10:24+00:00","mainEntityOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/"},"wordCount":798,"publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png","articleSection":["News"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/","url":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/","name":"GitProtect 2.0.5: More Access Control and Predictability - Blog | GitProtect.io","isPartOf":{"@id":"https:\/\/gitprotect.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#primaryimage"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#primaryimage"},"thumbnailUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png","datePublished":"2025-09-15T09:56:10+00:00","dateModified":"2025-09-24T07:10:24+00:00","breadcrumb":{"@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#primaryimage","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2025\/09\/gitprotect_2-0-5_blog_1200x600.png","width":1200,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/gitprotect.io\/blog\/gitprotect-2-0-5-more-access-control-and-predictability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/gitprotect.io\/blog\/"},{"@type":"ListItem","position":2,"name":"GitProtect 2.0.5: More Access Control and Predictability"}]},{"@type":"WebSite","@id":"https:\/\/gitprotect.io\/blog\/#website","url":"https:\/\/gitprotect.io\/blog\/","name":"GitProtect.io Blog","description":"","publisher":{"@id":"https:\/\/gitprotect.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gitprotect.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gitprotect.io\/blog\/#organization","name":"GitProtect.io","url":"https:\/\/gitprotect.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2023\/05\/favicon-528x528-1.png","width":528,"height":528,"caption":"GitProtect.io"},"image":{"@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/XoperoSoftware\/","https:\/\/x.com\/GitProtectio","https:\/\/www.linkedin.com\/company\/xopero-software\/","https:\/\/www.youtube.com\/channel\/UCiEnl6n0mIO6w7twccz-l2w"]},{"@type":"Person","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/967901c0176390b9c3fa15c5da47f37b","name":"Wojciech Andryszek, Technical Content Writer at GitProtect.io","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gitprotect.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/10\/wojciech-andryszek-technical-content-writer-at-gitprotect.io_avatar-96x96.jpg","contentUrl":"https:\/\/gitprotect.io\/blog\/wp-content\/uploads\/2024\/10\/wojciech-andryszek-technical-content-writer-at-gitprotect.io_avatar-96x96.jpg","caption":"Wojciech Andryszek, Technical Content Writer at GitProtect.io"},"description":"Wojtek is a Technical Content Writer at GitProtect. As a science journalist under his belt, he enjoys all kinds of knowledge. When writing about tech, Wojtek plays the role of an IT professional as well as his opposite - like Dr. Jekyll and Mr. Hyde. ;)","sameAs":["https:\/\/www.linkedin.com\/in\/wojciech-andryszek\/"],"url":"https:\/\/gitprotect.io\/blog\/author\/wojciech-andryszek\/"}]}},"_links":{"self":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/7441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/comments?post=7441"}],"version-history":[{"count":7,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/7441\/revisions"}],"predecessor-version":[{"id":7481,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/posts\/7441\/revisions\/7481"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media\/7447"}],"wp:attachment":[{"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/media?parent=7441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/categories?post=7441"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gitprotect.io\/blog\/wp-json\/wp\/v2\/tags?post=7441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}