{"id":24447,"date":"2019-02-27T16:27:24","date_gmt":"2019-02-27T21:27:24","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=24447"},"modified":"2024-10-09T15:38:46","modified_gmt":"2024-10-09T19:38:46","slug":"bbedit-12-6-to-return-to-the-mac-app-store","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2019\/02\/27\/bbedit-12-6-to-return-to-the-mac-app-store\/","title":{"rendered":"BBEdit 12.6 to Return to the Mac App Store"},"content":{"rendered":"<p><a href=\"http:\/\/www.barebones.com\/support\/bbedit\/notes-12.6.html\">Bare Bones Software<\/a> (<a href=\"https:\/\/twitter.com\/bbedit\/status\/1100078940234936321\">tweet<\/a>, <a href=\"https:\/\/www.macrumors.com\/2019\/02\/25\/bbedit-app-sandboxing-mac-app-store-launch-coming\/\">MacRumors<\/a>):<\/p>\n<blockquote cite=\"http:\/\/www.barebones.com\/support\/bbedit\/notes-12.6.html\"><p>BBEdit is now a sandboxed application.<\/p><p>[&#8230;]<\/p><p>Without unrestricted access to your files and folders, many of BBEdit&rsquo;s most useful features, from the basic to the most powerful, won&rsquo;t work at all; or they may misbehave in unexpected ways. At the very least, this hinders your ability to work done.<\/p><p>In order to resolve this fundamental conflict between security and usability, we have devised a solution in which BBEdit requests that you permit it the same sort of access to your files and folders that would be available to a non-sandboxed version.<\/p><p>For this reason, the first time you start BBEdit, it will prompt you to allow this access. The prompt will not be repeated; so if you decline to allow this access and later reconsider, go to the Application preferences, and click on the &ldquo;Allow&rdquo; button in the &ldquo;Sandbox Access&rdquo; section.<\/p><\/blockquote>\n\n<p>It saves a security-scoped bookmark that allows access to every volume on your Mac.<\/p>\n\n<p>BBEdit being able to return to the Mac App Store is great news for customers (modulo <a href=\"https:\/\/twitter.com\/geoffduncan\/status\/1100227252451561473\">bugs<\/a>) and for Bare Bones, but I&rsquo;m not sure what it means for the store in general. Although there has finally been <a href=\"https:\/\/developer.apple.com\/documentation\/appkit\/nsworkspaceauthorization\">some progress<\/a>, this feels like Apple giving up. They can&rsquo;t or don&rsquo;t want to really <a href=\"https:\/\/twitter.com\/provuejim\/status\/1100631466776571904\">fix<\/a> the sandbox to work well with pro apps, but they do want them to be in the store, so they&rsquo;ll just let them ask for blanket permissions. BBEdit gets to be in the store, and Apple gets to say that <a href=\"https:\/\/twitter.com\/lapcatsoftware\/status\/1100513436507824128\">everything<\/a> (except Xcode) is sandboxed, even though it&rsquo;s kind of <a href=\"https:\/\/twitter.com\/lapcatsoftware\/status\/1100503018238291968\">security theater<\/a>.<\/p>\n\n<p>This doesn&rsquo;t bother me with respect to BBEdit. I&rsquo;ve been running it unsandboxed for almost 25 years, so I trust the app, and this is not a decrease in security.<\/p>\n\n<p>But what about other apps? Is <em>any<\/em> app now allowed to request persistent access to the entire file system? Technically, this has been possible since OS X 10.7, but few if any apps did it. I think everyone assumed it would lead to rejection. Has the policy <a href=\"https:\/\/en.wikipedia.org\/wiki\/Ruby_slippers\">changed<\/a>? Or does App Review decide this on a case-by-case basis? How intrusive do the folder access prompts have to be before you can just get access to everything at once?<\/p>\n\n<p>I don&rsquo;t think users really understand that this is what clicking the button in an open panel is doing. And there&rsquo;s no way to see which applications are maintaining access to which folders. It&rsquo;s just not very clear what&rsquo;s going on. Apple is kind of shifting the blame if anything bad happens. It can&rsquo;t be their fault because the user &ldquo;consented.&rdquo;<\/p>\n\n<p>More security-related changes:<\/p>\n<blockquote cite=\"http:\/\/www.barebones.com\/support\/bbedit\/notes-12.6.html\"><p>When running on macOS 10.14.1 or later, BBEdit now uses built-in OS support for performing operations which require privilege escalation, namely authenticated saves and (if escalation is necessary) installation of the command-line tools.<\/p><p>[&#8230;]<\/p><p>AppleScripts are now run in a separate process, which means that any previous differences in scripting behavior as the result of running a script within BBEdit or from the Script Editor should be a thing of the past.<\/p><p>[&#8230;]<\/p><p>If BBEdit can&rsquo;t send save or close notifications because you\npreviously denied it permission to send Apple Events to the\napplication which needs them (usually a file transfer client from\nwhich you used &ldquo;Edit in BBEdit&rdquo;), you&rsquo;ll now get an alert to this\neffect; the help button in the alert takes you to\n<a href=\"http:\/\/www.barebones.com\/support\/bbedit\/ODBAutomationError.html\">a page which explains how to fix things<\/a>.<\/p><\/blockquote>\n\n<p>My understanding is that &ldquo;<a href=\"http:\/\/inessential.com\/2019\/02\/25\/the_odb_editor_suite_what_i_remember\">Edit in BBEdit<\/a>&rdquo; can no longer work with arbitrary apps, only those that have been pre-listed in BBEdit&rsquo;s <code>com.apple.security.temporary-exception.apple-events<\/code> entitlement. Those are the only apps that it can send Apple events to. It&rsquo;s kind of a drag. I once added &ldquo;Edit in BBEdit&rdquo; support to an app and didn&rsquo;t need to get permission from anyone. (The app was Apple Mail, and said support has long since been broken by Mail&rsquo;s sandboxing blocking Apple events.)<\/p>\n\n<p>At first, I thought, I guess this <em>does<\/em> need to be clamped down. BBEdit has extensive AppleScript support, so if you give it full file access, then any FTP client or blog editor would also be able to get full access, just by asking BBEdit to do its bidding. But BBEdit&rsquo;s sandboxing and entitlement aren&rsquo;t actually protecting against that because <em>any<\/em> app can send events <em>to<\/em> BBEdit. That hasn&rsquo;t changed. The real issue is that any sandboxed app that lists BBEdit in <em>its<\/em> <code>com.apple.security.temporary-exception.apple-events<\/code> can get full access. (I think; I haven&rsquo;t tested this.) It&rsquo;s obvious why you might not want to allow an app to script Finder or Terminal, but less so for a text editor. Is this an actual problem? I don&rsquo;t know. These days I see a lot of people talking about theoretical Mac malware but not about problems it&rsquo;s causing in the wild. And it&rsquo;s no less secure than before, just more surpising because this can happen with two sandboxed apps from the store.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/11\/16\/transmit-5-on-the-mac-app-store\/\">Transmit 5 on the Mac App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/08\/02\/escaping-the-sandbox-microsoft-office\/\">Escaping the Sandbox &#x2013; Microsoft Office<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/06\/05\/mac-app-store-sandboxing-iap-trials-multiplatform-services\/\">Mac App Store Sandboxing, IAP Trials, Multiplatform Services<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2014\/10\/12\/bbedit-leaving-mac-app-store\/\">BBEdit Leaving the Mac App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/02\/05\/mojave-privacy-protection-aftermath\/\">Mojave Privacy Protection Aftermath<\/a><\/li>\n<\/ul>\n\n<p id=\"bbedit-12-6-to-return-to-the-mac-app-store-update-2019-03-07\">Update (2019-03-07): <a href=\"https:\/\/podcast.macadmins.org\/2019\/03\/04\/episode-113-rich-siegel-and-25-years-of-bbedit\/\">Tom Bridge<\/a>:<\/p>\n<blockquote cite=\"https:\/\/podcast.macadmins.org\/2019\/03\/04\/episode-113-rich-siegel-and-25-years-of-bbedit\/\"><p>Rich Siegel of Bare Bones software joins the pod this week to talk about BBEdit, TextWrangler&rsquo;s departure, and life in the App Store World.<\/p><\/blockquote>\n\n<p id=\"bbedit-12-6-to-return-to-the-mac-app-store-update-2019-03-21\">Update (2019-03-21): <a href=\"https:\/\/www.barebones.com\/support\/bbedit\/notes-12.6.2.html\">Bare Bones Software<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.barebones.com\/support\/bbedit\/notes-12.6.2.html\"><p>Non-App Store builds of BBEdit will no longer prompt for sandbox access at startup. However, it is still possible that sandbox access is required in order for certain behaviors to work correctly.<\/p><p>In particular, the OS will unilaterally decide to &ldquo;quarantine&rdquo; certain files when you ask BBEdit to open them from the command line; and there are likely to be other misbehaviors caused by assumptions that the OS makes when running a sandboxed application.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Bare Bones Software (tweet, MacRumors): BBEdit is now a sandboxed application.[&#8230;]Without unrestricted access to your files and folders, many of BBEdit&rsquo;s most useful features, from the basic to the most powerful, won&rsquo;t work at all; or they may misbehave in unexpected ways. At the very least, this hinders your ability to work done.In order to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2019-02-27T21:27:28Z","apple_news_api_id":"cdb07b64-c436-460e-a8fb-8ee1800e061e","apple_news_api_modified_at":"2023-12-06T19:25:27Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABQ==","apple_news_api_share_url":"https:\/\/apple.news\/AzbB7ZMQ2Rg6o-47hgA4GHg","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1846,126,159,154,131,2518,30,39,1609,53,48,2669],"class_list":["post-24447","post","type-post","status-publish","format-standard","hentry","category-technology","tag-app-review","tag-applemail","tag-applescript","tag-bbedit","tag-bug","tag-entitlements","tag-mac","tag-macappstore","tag-macos-10-14","tag-sandboxing","tag-security","tag-security-scoped-bookmarks"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/24447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=24447"}],"version-history":[{"count":5,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/24447\/revisions"}],"predecessor-version":[{"id":24663,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/24447\/revisions\/24663"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=24447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=24447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=24447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}