프로젝트 소개

스페인어로 "갈고리"를 뜻하는 Gancho는 Apple 플랫폼 제품군을 위한 MIT 라이선스 기반의 로컬 우선 클립보드 기록 및 큐레이션 스니펫 라이브러리입니다. README에 따르면 현재 v0.8.3 버전으로 1.0을 향해 활발히 개발 중이며, macOS가 주요 개발 환경이고 확장 기능을 지원하는 iPhone/iPad 앱, 계획 중인 iPad 호환 visionOS 빌드, 핀 및 최근 항목으로 제한된 watchOS를 지원합니다. Android, Windows, Linux는 향후 분석 대상으로만 나열되어 있으며 구현 약속은 없습니다. macOS의 캡처 및 개인정보 보호는 화면 잠금 및 개인 모드에서 일시 중지되고 자체 쓰기를 억제하며 Universal Clipboard 항목을 표시하는 적응형 저전력 폴링 방식의 페이스트보드 모니터로 처리됩니다. 텍스트, RTF, HTML, 이미지, 파일 URL과 같은 풍부한 페이로드를 유지합니다. ConcealedType, TransientType 또는 AutoGeneratedType으로 표시된 페이스트보드 유형은 콘텐츠를 읽기 전에 캡처를 거부하며, 사전 로드된 비밀번호 관리자 및 뱅킹 거부 목록과 "다음 복사 무시" 작업이 포함되어 있습니다. 온디바이스 탐지기는 카드 번호(Luhn), AWS/Stripe/GitHub/Slack 키, PEM 키 및 예상 비밀번호를 찾아 짧은 만료 시간과 함께 마스킹된 미리보기를 보여줍니다. iOS, iPadOS 및 visionOS에서는 의도적인 캡처만 가능하며 배경 페이스트보드 폴링은 수행하지 않습니다. 프로젝트는 클립보드 콘텐츠가 로그, 텔레메트리, 충돌 보고서, 분석 또는 지원 번들에 절대 기록되지 않는다고 명시합니다. 저장소는 GRDB/SQLite를 사용하며 콘텐츠 주소 지정 디스크 블롭, 지연 썸네일, 페이지 처리된 메타데이터 전용 리스트, 버전 관리 마이그레이션, 장치 인식 중복 제거 및 JSON/CSV 내보내기를 지원합니다. 검색은 FTS5 기반으로 정확히 일치, 퍼지 및 정규식 모드와 종류, 소스 앱, 날짜 필터를 제공하며 10만 개 항목 성능 하네스로 지원됩니다. 512차원 온디바이스 임베딩 인덱스는 "클립보드에 질문하기" 기능과 자동 보드 제안을 구동하며, 메인 기록 검색은 FTS5를 유지합니다. 보존 엔진은 전역 및 종류별 만료, 민감 정보 자동 만료 및 배경 삭제를 적용하며 핀 고정 항목은 제외됩니다. macOS 앱은 메뉴 막대 에이전트로, 크기 조정 가능한 플로팅 기록 패널(Shift-Cmd-V), 키보드 우선 타입 투 서치, 조합 가능한 필터, 편집 가능한 제목, 종류별 미리보기, 읽기 전용 전체 콘텐츠 미리보기 및 합성 Cmd-V를 통한 붙여넣기 기능을 제공합니다. 핀, 다중 멤버십 보드, 보드와 스니펫을 위한 통합 라이브러리가 구현되었으며, 스택에 일괄 추가, 보드에 추가, 실행 취소 가능 삭제, 다중 선택, 파일 클립 드래그, 구조적 편집이 포함된 큐레이션된 Spotlight 기부, 읽기 전용 미리보기, 검증, 원자적 중복 제거 및 취소가 포함된 가이드형 Maccy/CSV 기록 가져오기를 지원합니다. Raycast는 문서화된 클립보드 API가 최근 6개 항목만 노출하고 암호화된 백업의 제3자 디코딩 스키마가 없으므로 가져오기 소스에서 명시적으로 제외됩니다. iPhone 및 iPad 앱은 저장 버튼, UIPasteControl, 공유 확장 프로그램 및 App Intents/Shortcuts를 통한 의도적 캡처만 제공하며, 기록이 포함된 키보드 확장 프로그램, 위젯, iPad 분할 뷰 및 소스 앱 필터링을 지원합니다. 온디바이스 인텔리전스 스택은 네트워크 없이 작동하며, 5ms 미만으로 17가지 콘텐츠 종류를 인식하는 결정론적 티어-0 분류기, Apple Intelligence 제목 생성, 스크린샷 OCR, 시맨틱 인덱싱, Dev Actions(JWT 디코딩, JSON 포맷팅, Base64, URL 파싱, 색상 변환, UUID 포맷 - App Intents로도 노출됨), Smart Paste 재작성/번역/PII 편집, 기록 기반 근거 Q&A, 자동 보드 제안 기능을 갖추고 있습니다. 각 단계는 인텔리전스 화면에서 개별적으로 설정할 수 있습니다. 동기화는 SyncEngine 경계 뒤에서 사용자의 개인 iCloud 데이터베이스를 통해 CKSyncEngine을 사용하며, 동기화 상태가 표시됩니다. 통합 기능으로는 gancho CLI, 만료 및 취소 가능한 클라이언트별 권한, 명시적 보드/시간 컨텍스트, 독립적인 읽기/쓰기 권한 및 메타데이터 전용 액세스 로그를 갖춘 로컬 옵트인 MCP 서버, VS Code "Save Selection" 명령이 포함됩니다. 수익화는 StoreKit 2 구매, 복구 및 권한 체계와 컨텍스트 기반 페이월 및 무료 티어 제한을 사용합니다. 직접 다운로드 빌드는 결제 비밀값을 내장하지 않고 Lemon Squeezy를 통해 Pro 라이선스를 구매, 활성화, 재검증 및 비활성화할 수 있으며, Pro 버전은 암호화된 iCloud 동기화를 잠금 해제합니다. 선택적 익명 진단은 명시적 동의 전까지 비활성 상태로 유지되며, 개인정보 보호 센터의 활동 영수증은 동기화나 내보내기 없이 13개월 동안 장치에 앱별 합계를 유지합니다. 엔지니어링 측면에서 이 프로젝트는 XcodeGen, Swift 6 엄격한 동시성, 영어/스페인어 이중 언어 String Catalog 게이트, 접근성 지원 및 8개의 라이브러리 제품과 CLI를 포함하는 단일 SwiftPM 패키지(GanchoKit)를 사용합니다. CI는 빌드, 테스트, 린트를 다루며, 강제된 프로덕션 소스 커버리지 하한선, 직렬화된 StoreKit 자동화 및 스케일 성능을 관리합니다. 빌드에는 macOS 15.4+, Xcode 26+ 및 XcodeGen이 필요하며, 테스트, iOS 장치 설치, 패키징, 릴리스 QA 및 사이트 체크를 위한 make 타겟이 문서화되어 있습니다. README는 GRDB.swift, SQLCipher, KeyboardShortcuts, Sauce 및 TelemetryDeck을 기반 오픈 소스 작업으로 명시합니다. 라이선스: MIT, © 2026 Johnny Young.