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