✦ 브라우저에서 직접 실행 · 서버 전송 없음
사용자가 기억하는
확인 방식
패턴은 서버에 저장되지 않습니다 — 브라우저에서 직접 처리
신용카드 불필요 · 500회/월 무료 · 5분 설정
기존 방식은 왜 불편하고 위험한가
보안이 강할수록 사용자는 이탈합니다
📱
SMS OTP
피싱 페이지에 그대로 노출됩니다. SIM 스와핑 한 번이면 계정 탈취가 완료됩니다.
피싱SIM 스와핑통신사 의존
⏱
TOTP 앱
앱 설치, QR 코드 스캔, 30초 카운트다운. 기기를 잃으면 복구 절차가 악몽입니다.
설치 마찰기기 분실이탈률
👆
생체인식
특정 하드웨어에 묶입니다. 개인정보 우려로 일부 사용자는 거부합니다.
하드웨어 의존개인정보크로스 디바이스
패턴이 곧 열쇠입니다. 서버에는 없습니다.
기억하기 쉽고, 훔치기 불가능한 인증
✏️
나만의 패턴
손가락 또는 마우스로 자연스럽게 그립니다. 형태뿐 아니라 속도·리듬·행동 특성을 함께 학습합니다.
🔒
브라우저에만
원본 패턴 데이터는 디바이스를 떠나지 않습니다. GDPR·개인정보 규정 준수 부담이 대폭 줄어듭니다.
⚡
5초 설정
앱 설치 없이 위젯 한 줄이면 충분합니다. 사용자는 자신이 만든 패턴을 잊지 않습니다.
3단계로 끝납니다
단순한 과정. 진지한 보안.
01
패턴 그리기 → SNN 자동 학습
위젯이 마운트되면 사용자는 자유 형식 패턴을 입력합니다. 브라우저 내 SNN이 즉시 특성을 학습합니다.
on-device실시간네트워크 불필요
02
다음 방문 → 동일 패턴으로 확인
재방문 시 동일 패턴을 그리면 학습된 모델이 일치 여부를 즉시 판별합니다.
밀리초서버 왕복 없음오프라인 동작
03
서버에 검증 결과만 전달
통과/거부 레이블과 신뢰도만 서버로 전송됩니다. 패턴 원본, 좌표, 생체 데이터는 일절 전송되지 않습니다.
<200 bytes최소 페이로드개인정보 비전송
whatpull.github.io/handface — 라이브 데모
세 줄로 시작합니다
프레임워크에 무관하게 동작합니다. PK_VERIFIED 이벤트를 수신하면 기존 인증 흐름에 그대로 연결하세요.
auth.ts
import PatternKey from '@whatpull/patternkey-sdk';const pk = new PatternKey();pk.mount('#widget') .on('PK_VERIFIED', ({ label, confidence }) => { grantAccess(); // 인증 완료 });React / Next.jsVue / NuxtVanilla JS기존 JWT 구조 유지5분 연동
제한적 베타 운영 중
제한적 베타 신청
현재 소수 팀에게 무료로 제공 중입니다. 선착순으로 검토합니다.