"제일 중요한 기능은, 앱이 자기가 할 수 있는 걸 보고도 사양하는 그거야."
거부가 곧 기능
Firekeeper 는 접근성을 쥐고 있어. 네 비밀번호 관리자에서 포커스된 요소를 읽을 수 있다는 뜻이야. OS 는 그걸 막아 주지 않아. '할 수 있다' 와 '한다' 사이에 서 있는 건 앱이 안 하기로 고르는 것 하나뿐이고. 그리고 그 선택은 마음속 의도로 남으면 안 돼. 코드에 단단한 거부로 적혀 있어야지. 보안 텍스트 필드가 제일 분명한 경우야. 포커스된 요소가 보안 필드면 Firekeeper 는 맥락을 안 읽고, 클립보드를 안 건드리고, 삽입을 아예 거부해.
거부의 두 계층
계층 1 — 보안 필드 감지 (OS 가 알려줌):
맥락 안 읽음, 클립보드 안 건드림, 삽입 안 함. 완전 정지.
계층 2 — 앱 거부목록 (네가 정함):
비밀번호 관리자, 뱅킹 앱, 유저가 사적이라 표시한 뭐든.
받아쓰기가 거기선 그냥 작동 안 함.
계층 1 은 기계적이야. macOS 가 보안 필드를 표시해 주고, 넌 그 표시를 존중하면 돼. 계층 2 는 판단이고. 어떤 앱은 필드 하나가 아니라 통째로 민감하고, 유저가 '여긴 절대' 라고 말할 수 있어야 하니까. 둘 다 거부야. 그리고 둘 다 삽입 직전에 예의 바르게 확인하는 게 아니라 제일 이른 지점에서 강제해야 해. 맥락을 읽기 전, 타깃 캡처 단계에서. 금고 앞을 지키는 것보다 문 앞을 지키는 게 나아.
왜 격하가 아니라 거부인가
넘어가기 쉬운 중간 지대가 있어. '보안 필드에서도 받아쓰긴 하되 맥락 읽기만 건너뛰자.' 버텨. 민감한 맥락에서 절반만 작동한다는 건 앱이 여전히 거기서 살아 있고, 여전히 타깃을 쥐고 있고, 건드리면 안 되는 걸 건드리기까지 버그 하나 거리라는 뜻이야. 완전히 거부하는 쪽이 따져 보기도 단순하고, 검증하기도 단순하고, 유저한테 설명하기도 단순해. 비밀번호 필드에선 작동 안 해. 아예, 설계상. 어떤 방에서 절대 안 쓰는 능력은 그 방에서 오용될 수가 없어.