본문으로 건너뛰기

개인정보 & 권한

Maekon은 사용자의 활동 스트림은 사용자의 것이라는 원칙 위에 설계되었습니다. 이 페이지는 무엇이 캡처되고, 어디에 저장되며, 무엇이 네트워크를 건너고, 어떻게 회수할 수 있는지를 정리합니다.

로컬에 캡처되는 항목

출처저장 위치보존 기간
활성 윈도우 제목 + 번들 IDSQLite (events 테이블)30일, 500MB 상한
화면 프레임로컬 파일 저장소 (frames/)30일, 500MB 상한
시스템 메트릭 (CPU/메모리/네트워크)SQLite30일, 500MB 상한
마우스/키보드 패턴 (키스트로크 아님)SQLite30일
OCR 텍스트SQLite (FTS5 인덱싱)30일
생성된 제안 + 사용자 피드백SQLite무기한 (수동 삭제 시까지)

maekon-storage의 데일리 정리 루프가 보존 기간을 강제합니다. 수동 삭제는 maekon data purge --older-than 7d 로 실행합니다.

기본적으로 기기를 떠나는 항목

Maekon이 기본적으로 전송하는 데이터는 다음과 같습니다.

  • 인증api_url 로 전송하는 로그인/리프레시용 JWT 토큰
  • 제안 구독 — gRPC 스트림으로 서버 푸시를 수신 (사용자 컨텍스트는 로컬에 머무르며, 피드백만 서버로 흐름)
  • 텔레메트리명시적으로 활성화한 경우에만 (아래 참조)

Maekon이 기본적으로 전송하지 않는 항목:

  • ❌ 원본 화면 프레임 또는 OCR 텍스트
  • ❌ 윈도우 제목 또는 앱 이름
  • ❌ 키스트로크 또는 입력 패턴
  • ❌ 파일 경로 또는 파일시스템 목록
  • ❌ 네트워크 트래픽 메타데이터

서버 기반 지식 그래프(설정 → 동기화 → Server-side context) 옵션을 활성화하면, 동일 PII 필터가 적용된 redacted 활동 타임라인이 업로드됩니다.

텔레메트리

텔레메트리는 기본 비활성화 상태이며, 명시적 동의(privacy.consent_record, GDPR 17/20조 준수)를 통해서만 켜집니다. 활성화 시 다음을 전송합니다.

  • 크래시 덤프 (error_report.crash_capture 가 켜진 경우)
  • 앱 버전 + OS + 커밋 SHA (익명 빌드 식별자 — 기기 핑거프린트 아님)
  • 기능 사용 카운터 집계 (어떤 UI 패널을 열었는지만, 내용은 아님)

비활성화: 설정 → 개인정보 → 텔레메트리 → Off. ConsentManager가 즉시 동의를 회수하며 이후 어떤 이벤트도 기기를 떠나지 않습니다.

Maekon이 요청하는 권한

권한용도회수 방법
화면 기록 (macOS)화면 캡처시스템 환경설정 → 개인정보 보호 및 보안
손쉬운 사용 (macOS)활성 윈도우 감지, AX 트리시스템 환경설정 → 개인정보 보호 및 보안
입력 모니터링 (macOS)마우스/키보드 패턴 추적선택 사항 — 거부 시 해당 기능만 비활성화
UI Automation (Windows)활성 윈도우 + UIA element tree기본 부여, 별도 시스템 UI 없음
X11 / Wayland (Linux)윈도우 감지항상 켜짐, Wayland는 XWayland fallback
알림트레이 + 데스크톱 알림OS 수준 토글

권한을 회수해도 Maekon은 중단되지 않습니다 — 해당 기능만 자동 비활성화됩니다. 예를 들어 화면 기록 권한을 회수하면 캡처는 멈추지만 타임라인 / 시스템 메트릭은 계속 작동합니다.

샌드박싱

모든 자동화 액션은 maekon-sandbox-worker (별도 프로세스) 에서 실행되며 플랫폼 수준의 격리가 적용됩니다.

  • WindowsJOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE 가 적용된 Job Object
  • Linux — seccomp 필터 + Landlock LSM (프로파일 외 syscall 차단)
  • macOS — App Sandbox 프로파일

worker가 크래시하거나 프로파일을 위반해도 부모 프로세스는 영향을 받지 않습니다.

삭제권 (Right-to-deletion)

GDPR 17조 ("삭제권")을 종단간으로 구현했습니다.

# 모든 로컬 데이터 삭제
maekon data wipe --confirm

# 서버 측 상태 삭제 (서버 사용 시)
maekon account delete --confirm

두 명령어 모두 삭제 직전에 감사 이벤트(compliance.data_erasure_requested)를 발생시켜 법적 보존(legal hold) 목적의 기록을 남깁니다.

함께 보기