Bar still missing in Chrome or Edge? Update to version 3.1.127 or later to fix it — your browser usually does this on its own, but you can force it now.Bar still missing? Update to 3.1.127 or later to fix it. How to update now

Second Bookmark Bar

Second Bookmark Bar는 안전한가요? 권한, 개인정보, 데이터는 어디에 저장되나

이 카테고리에서 이런 글을 공개하는 곳은 없습니다. 직접 찾아봤지만 없었습니다. 그래서 여기 정리합니다. Second Bookmark Bar가 Chrome에 요청하는 모든 권한, 그 이유, 그리고 기술적으로는 할 수 있지만 의도적으로 하지 않는 일들입니다. 북마크 확장 프로그램을 설치할지 검토 중이라면 — 이 제품이든 다른 어떤 것이든 — 앞부분은 어떤 선택을 하든 도움이 될 것입니다.

어떤 북마크 확장 프로그램이든 감사하는 방법

구체적인 내용에 앞서 일반적인 방법부터 살펴보겠습니다. 앞으로 설치를 고려할 모든 확장 프로그램에 적용되는 방법이기 때문입니다.

  • 설치 프롬프트만이 아니라 Chrome Web Store 등록 페이지의 권한 목록을 읽어보세요. 등록 페이지는 보통 각 권한이 무엇을 위한 것인지 더 평이한 언어로 설명해 주며, 설치를 결정하기 전에 미리 읽어볼 수 있습니다.
  • “모든 웹사이트의 데이터 읽기 및 변경” (광범위한 <all_urls> 접근에 대한 host_permissions 경고)은 실제로 주의 깊게 봐야 할 항목입니다. 이는 확장 프로그램의 코드가 방문하는 모든 페이지에서 실행될 수 있다는 뜻입니다. 확장 프로그램 자체의 백엔드처럼 하나의 특정 도메인으로 범위가 좁혀진 호스트 권한은, 방문하는 모든 사이트에 대한 무제한 접근과는 전혀 다른 이야기입니다.
  • bookmarks 권한은 전체 북마크 트리에 대한 읽기/쓰기 접근 권한을 부여합니다. 이 권한은 본질적으로 광범위합니다. Chrome에 “북마크 일부만” 달라고 요청하는 방법은 없기 때문입니다. 따라서 진짜 물어야 할 질문은 권한이 넓은지가 아니라, 그 접근 권한을 부여받은 뒤 확장 프로그램이 실제로 무엇을 하느냐입니다.
  • **Manifest V3부터는 “원격 코드 금지”**가 거의 표준이 되었습니다. 확장 프로그램은 더 이상 런타임에 서버에서 임의의 JavaScript를 가져와 실행할 수 없으며, 이는 Manifest V2 시절 실제로 존재했던 “설치 후 슬그머니 권한 범위가 넓어지는” 위험을 원천 차단합니다. 해당 확장 프로그램이 실제로 Manifest V3로 배포되는지 확인해 볼 가치가 있으며, 평판이 좋은 확장 프로그램 대부분은 이제 그렇습니다. Chrome은 스토어 전체에서 V2 지원을 단계적으로 종료하고 있습니다.
  • 수집하는 항목을 구체적으로 명시한 개인정보처리방침이 그냥 존재하기만 하는 방침보다 훨씬 중요합니다. “서비스 개선을 위해 정보를 수집할 수 있습니다” 같은 문구는 상투적인 표현일 뿐입니다. 어떤 조건에서 무엇이 기기 밖으로 나가는지 정확히 명시한 방침이야말로 신뢰할 만합니다.

Second Bookmark Bar의 실제 매니페스트

요약이 아니라 실제 manifest.json의 권한 블록 그대로입니다.

"permissions": [
  "activeTab",
  "bookmarks",
  "storage",
  "favicon",
  "identity",
  "alarms"
],
"optional_permissions": [
  "tabGroups"
],
"host_permissions": [
  "https://ughpzmmhthrcnwtpfkzr.supabase.co/*"
]

각 항목이 무엇을 위한 것인지 살펴보겠습니다.

권한부여하는 내용실제 사용처
bookmarksChrome 북마크 트리에 대한 읽기/쓰기제품 전체의 핵심입니다. 모든 폴더, 슬롯, 정렬, 중복 제거, 롤백 작업이 bookmarks API 호출입니다. 이 권한 없이 동작하는 버전은 없습니다.
storage로컬 및 동기화된 확장 프로그램 스토리지설정, 폴더-슬롯 구성, 적응형 규칙, 저장된 페이지의 기억 순위, 복원 지점 스냅샷. 여기 저장되는 것은 방문 기록이 아니라 확장 프로그램 자체의 설정과 백업입니다.
activeTab확장 프로그램 UI와 상호작용한 이후에만 부여되는 현재 탭에 대한 임시 접근피커 우선 저장 흐름과 빠른 저장 명령을 구동합니다. 실제로 저장을 실행하는 순간에 현재 페이지의 URL, 제목, 썸네일을 가져오며, 백그라운드에서 수동적으로 동작하지 않습니다.
faviconChrome 내장 파비콘 API북마크와 폴더 옆에 사이트 아이콘을 표시해 바가 텍스트가 아니라 시각적으로 읽히게 합니다. 확장 프로그램이 직접 타사 서버에서 아이콘을 가져와 캐시할 필요가 없습니다.
alarms서비스 워커에서 백그라운드 타이머를 예약솔직하게 세 가지 용도로만 씁니다. 일정 간격으로 클라우드 동기화 재시도를 폴링하는 것, Stripe 결제 흐름 중 결제 완료 시 UI를 갱신하기 위해 상태를 확인하는 것, 만료된 인증 토큰을 6시간마다 주기적으로 정리하는 것입니다. 모두 클라우드 동기화와 관련된 용도이며, 클라우드 동기화를 켜지 않으면 어느 것도 실행되지 않습니다.
identityChrome의 OAuth 헬퍼(launchWebAuthFlow)클라우드 동기화를 위한 Google 로그인 흐름, 그 이상도 이하도 아닙니다. 이 권한으로 확장 프로그램이 Google 계정 데이터를 일반적으로 읽을 수 있는 건 아닙니다. 로그인 핸드셰이크 자체로 범위가 한정되어 있습니다.
tabGroups (선택 권한)Chrome 탭 그룹 생성 및 라벨링설치 시점에는 요청하지 않습니다. “이 폴더를 탭 그룹으로 열기” 기능을 실제로 사용할 때만 Chrome이 권한을 묻습니다. 대부분의 사람이 매일 쓰지는 않을 기능을 위해 처음부터 요청하기보다는, 꼭 필요한 그 순간에 딱 한 번 묻는 편을 택했습니다.
호스트 권한: ughpzmmhthrcnwtpfkzr.supabase.co정확히 하나의 도메인에 대한 네트워크 접근클라우드 동기화와 계정/결제 상태를 위한 Supabase 기반 백엔드입니다. <all_urls>도 아니고 “모든 웹사이트”도 아닙니다. 하나의 특정 도메인이며, 클라우드 동기화에 로그인한 경우에만 트래픽이 그곳으로 전송됩니다.

이것이 permissions와 host_permissions 목록의 전부입니다. 분석 SDK도, 광고 네트워크도, 임의의 네트워크 접근을 위한 광범위한 <all_urls> 호스트 권한도 없습니다. 매니페스트의 유일한 호스트 권한은 클라우드 동기화가 의존하는 바로 그 Supabase 프로젝트, 즉 자체 백엔드로만 정확히 범위가 한정되어 있습니다.

명시적으로 짚고 넘어갈 두 가지가 있습니다. 실제로 존재하는 사항이고, 이 글의 목적은 아무것도 빠뜨리지 않는 것이기 때문입니다.

콘텐츠 스크립트 자체. 매니페스트에는 모든 http://, https:// 페이지에서 실행되는(document_start) 콘텐츠 스크립트도 선언되어 있습니다. Chrome의 “방문하는 웹사이트의 모든 데이터 읽기 및 변경” 설치 경고를 실제로 발생시키는 것은 Supabase 호스트 권한이 아니라 바로 이 스크립트입니다. 이 경고는 정확합니다. 방문하는 모든 페이지 안에 바와 검색 UI를 직접 그려 넣는 것이 바로 이 스크립트이기 때문입니다. 그 접근 권한으로 실제로 하는 일은 좁게 한정되어 있습니다. UI를 렌더링하고, 요청받은 북마크를 만드는 데 필요한 특정 페이지 요소(예를 들어 바에 드래그한 동영상의 제목, 채널명, 길이, 재생 위치)를 읽는 정도입니다. 하지만 접근 권한 자체는 넓으며, “왜 모든 웹사이트가 필요한가”에 대한 정직한 답은 바로 그 경고문이지, 이를 우회하는 방법이 아닙니다.

YouTube가 아닌 비디오 폴더 항목의 썸네일. YouTube 썸네일은 동영상 ID만으로 만들어지므로 네트워크 요청으로 브라우저 밖에 나갈 일이 없습니다. 반면 다른 사이트의 비디오 폴더 항목은 확장 프로그램이 실제로 외부 요청을 보냅니다. 저장한 페이지에 이미 존재하는 썸네일 이미지 URL 후보 몇 개를 가져와서 각각을 요청해(이미지 바이트만, credentials: 'omit') 실제로 이미지로 응답하는지 확인한 뒤 카드의 썸네일로 사용합니다. 이 요청은 Second Bookmark Bar 자체 백엔드가 아니라 해당 페이지를 호스팅한 도메인으로 전송되므로 매니페스트의 호스트 권한 목록에는 나타나지 않지만, Supabase 경로 외에 실제로 존재하는 두 번째 네트워크 경로이며, 이 확장 프로그램이 오직 하나의 호스트와만 통신한다고 설명하는 것은 부정확할 것입니다.

기술적으로는 할 수 있지만 하지 않는 일

이런 권한들로 할 수 있는 일의 하한선보다 상한선을 솔직하게 밝히는 것이 더 중요합니다. bookmarks와 storage가 있으면, 설치 즉시 전체 북마크 트리를 서버로 조용히 업로드하는 버전의 확장 프로그램도 기술적으로는 만들 수 있습니다. 하지만 그렇게 하지 않습니다. Supabase 호스트 권한은 유료 클라우드 기능에 명시적으로 로그인한 뒤에만 활성화되며, 그 밖의 유일한 외부 요청은 앞서 설명한 썸네일 확인용 요청뿐인데, 이 요청은 북마크나 계정 데이터를 전혀 담지 않고 특정 이미지 URL이 응답하는지만 확인합니다. activeTab이 있으면 이론적으로는 방문하는 모든 페이지를 기록할 수도 있습니다. 하지만 이 권한은 모든 탐색이 아니라 사용자가 실제로 확장 프로그램을 호출했을 때만 탭을 볼 수 있도록 범위가 한정되어 있습니다. 방문 기록을 수동적으로 남기는 리스너는 애초에 연결되어 있지 않습니다. 그리고 모든 페이지에서 실행되는 콘텐츠 스크립트가 있으면 이론적으로는 페이지의 무엇이든 읽을 수도 있습니다. 하지만 그 코드는 숨겨져 있지 않고, Chrome Web Store 패키지에 포함된 것과 동일한 content.js이며, 사용자가 바와 상호작용하거나 무언가를 드래그할 때만 동작합니다.

로그인한 적이 없어도 확장 프로그램이 보낼 수 있는 자동화된 보고가 하나 있습니다. 자체 라이선스나 설치 무결성 데이터가 변조된 것을 감지하면, 유료 등급 악용을 잡아내기 위해 같은 Supabase 백엔드로 익명 알림 하나(이벤트 종류와 심각도뿐, 북마크나 방문 기록 데이터 없음)를 보냅니다. 정상적인 사용 중에는 동작하지 않습니다.

클라우드 동기화: 명시적인 예외

위에서 설명한 모든 것은 기본적으로 로컬입니다. 북마크 데이터와 설정은 기기에 있는 Chrome 자체의 북마크 스토리지와 확장 프로그램 스토리지에 저장됩니다. 클라우드 동기화는 의도적으로 만든 유일한 예외이며, 옵트인 방식입니다. Google 로그인과 유료 구독이 필요합니다. 켜져 있을 때는 북마크 루트, 확장 프로그램 설정, 공유 스페이스가 Supabase 백엔드로 동기화되는데, 스토리지에 오래 남아 있는 고정 키가 아니라 자동 갱신, 속도 제한, 토큰 버전 관리가 적용되는 단기 세션 토큰을 사용합니다.

동기화 방향도 중요합니다. 기본적으로 확장 프로그램은 로컬 우선(local-first)입니다. 클라우드에서 읽어오는 작업은 사용자가 명시적으로 실행할 때만 일어납니다. 변경 사항은 자동으로 업로드되어 데이터가 백업되지만, 클라우드에서 백그라운드로 조용히 내려받아 기기의 내용을 다시 쓰는 일은 없습니다. 구독이 만료되면 유예 기간 동안 읽기 전용 접근이 유지되며, 구독 상태와 관계없이 로컬 내보내기는 항상 가능합니다. 클라우드 동기화가 사라진다고 북마크가 사라지는 것은 아닙니다.

제거 테스트

bookmarks 접근 권한을 가진 모든 확장 프로그램에 적용해 볼 만한 테스트가 있습니다. 제거한 뒤에 무엇이 남는가입니다. 이 제품의 답은 “전부 남는다”입니다. 애초에 별도의 독자적인 데이터 저장소를 만든 적이 없기 때문입니다. 표준 Chrome 북마크, 즉 Chrome 자체가 관리하는 바로 그 트리를 읽고 씁니다. 확장 프로그램을 제거해도 북마크는 그대로 남고, 같은 폴더 구조를 그대로 유지하며, 다른 북마크와 마찬가지로 chrome://bookmarks에서 그대로 내보낼 수 있습니다. 확장 프로그램을 제거하는 행위가 원본 데이터를 건드리지 않는 이유는, 그 원본 데이터가 애초부터 Chrome 자체의 것이었기 때문입니다. 동기화와 제거에 관한 더 짧은 버전의 질문은 사이트 FAQ에서도 다루고 있으니, 빠르게 참고하고 싶다면 그쪽을 보세요.

이 주장을 뒷받침하는 롤백과 내보내기 메커니즘을 더 자세히 알고 싶다면 별도로 정리한 글이 있습니다. 클라우드 동기화가 유료로 쓸 가치가 있는지 저울질하는 중이라면 Free 대 Pro 비교 글에서 따로 다루고 있습니다. 개인정보처리방침에는 위 내용의 법률 용어 버전이 담겨 있습니다. 이 글은 그것의 평이한 언어 버전이며, 저는 이 글을 먼저 읽어보시길 권합니다.

내 북마크 바에서 직접 써보기

Second Bookmark Bar는 무료로 설치할 수 있고, 기본적으로 사용자의 기기에서만 동작하며, 설정에는 1분 정도밖에 걸리지 않습니다.

Chrome에 추가 — 무료