"아무 텍스트 필드나 읽을 수 있는 도구는 지워지지 않는 잉크로 선 하나를 그어야 해: 절대 비밀번호는 아니다."
만지면 안 되는 필드
Flint 의 일 전부가 텍스트 필드를 읽고 쓰는 거라, 필드의 한 범주를 근본적으로 출입 금지로 만들어: 보안 필드 — 비밀번호 상자, PIN 입력, 앱이 민감하다고 표시한 뭐든. '맥락' 위해 비밀번호를 읽는 건 재앙일 거고; 보안 컨트롤에 맹목적으로 쓰는 건 거의 그만큼 나빠. 그래서 Flint 은 보안 필드를 그냥 안 가는 데로 다뤄. 이건 무른 선호가 아냐; 앱에서 지워지지 않는 잉크로 그은 하나의 경계야.
캡처에서 감지
강제는 가능한 제일 이른 순간에 살아: 캡처. Flint 이 포커스된 요소를 스냅샷할 때, 요소의 역할과 서브롤도 읽어. macOS 가 보안 텍스트 필드를 보안 서브롤로 표시해서, 캡처 시점의 확인 하나가 Flint 한테 '이건 비밀번호 필드야' 라고 알려줘. 그러면, Flint 이 바로 거기서 멈춰 — 선택을 안 읽고, 어떤 맥락도 안 짓고, 진행 안 해. 캡처에서 잡는 건 보안 필드가 변환 후보가 되지조차 않는다는 뜻이야.
포커스된 요소 캡처
역할 + 서브롤 읽기
서브롤 == 보안 텍스트 필드 ?
예 -> 멈춤. 읽기 없음, 맥락 없음, 삽입 없음. 출입 금지.
아니오 -> 정상 흐름 계속
불투명 필드는?
Track 3 의 불투명 타깃이 이걸 정직하게 복잡하게 해. 포커스된 요소를 숨기는 Chromium 이나 Electron 앱은 그 요소가 보안인지도 숨겨 — Flint 이 필드 타입을 못 봐. 거기서 룰은 다른 방식으로 보수적이야: 창 레벨 폴백이 목적지의 내용을 절대 안 읽고 기존 키보드 포커스에 붙여넣어. 그래서 필드가 안전하다고 확인 못 하는 데서도, 절대 안 읽어; 룰의 절대적 절반 — 비밀을 절대 안 읽음 — 이 분류가 안 보일 때조차 성립해.