TL;DR

  • Typed는 Gmail에서 직접 입력한 글자와 붙여넣기·드롭·소프트웨어로 삽입한 글자를 비교해 이메일의 입력 비율을 표시하고, 전송 이메일에 점수를 서명하는 크롬 확장 프로그램임.
  • 점수는 직접 입력한 글자 수를 직접 입력한 글자와 삽입한 글자의 합으로 나눈 값이며, 두 카운터는 늘어나기만 하므로 붙여넣은 뒤 삭제해도 점수에 반영됨.
  • 키보드 입력과 IME 조합 입력은 직접 입력으로 계산하고, 텍스트·이미지·파일 붙여넣기나 드롭, AI 작성 도구, 받아쓰기 등은 삽입으로 계산함.
  • 배지는 브라우저에만 저장되는 ECDSA P-256 키로 서명되며, 발신자·점수·본문이 바뀌면 유효하지 않은 서명으로 표시됨.
  • 계정·서버·네트워크 코드 없이 mail.google.com에서만 실행되며, 초안별 점수와 지문은 로컬 저장소에 30일 동안 보관됨.

이메일에서 직접 입력한 글자 비율 표시

  • Typed는 손으로 직접 입력한 모든 문자를 붙여넣거나 드롭하거나 소프트웨어가 작성한 문자와 비교해 계산한 뒤, 전송하는 이메일에 점수를 서명함.
  • Chrome 웹 스토어에서 Typed를 받을 수 있으며, 계정이나 서버가 필요하지 않고 작성한 내용은 브라우저 밖으로 나가지 않음.
  • 작성 중 확장 프로그램의 자체 추적기로 점수를 확인할 수 있으며, 작성 창에서 초기화할 수 있음.

점수 계산 방식

  • 점수는 키보드에서 입력된 문자의 비율이며, 직접 입력한 문자 수를 직접 입력한 문자와 삽입한 문자의 합으로 나눈 값임.
  • 점수 = 직접 입력한 문자 수 / (직접 입력한 문자 수 + 삽입한 문자 수)임.
  • 두 카운터는 늘어나기만 하므로 문단을 붙여넣고 삭제해도 삽입 문자 수에 반영되며, 점수를 높이려면 직접 입력을 더 해야 함.
  • 직접 입력 문자가 하나도 삽입되지 않은 경우에만 ‘✅ typed’가 표시됨. 점수는 내림 처리되므로 직접 입력한 문자 999개와 붙여넣은 문자 1개는 ‘99% typed’로 표시됨.
  • 예시 점수는 8%, 30%, 50%, 75%, 96%이며, 모든 문자를 직접 입력하면 ‘✅ typed’로 표시됨.

무엇이 계산되는가

  • Typed는 브라우저 자체 입력 이벤트를 감지해 키 입력, 붙여넣기, 자동으로 나타난 텍스트를 구분함.
  • 직접 입력: 키보드 입력, IME 및 조합 입력, 이모지 선택기.
  • 중립: 백스페이스, 실행 취소, 굵게 표시, 목록, 들여쓰기, 한 단어의 맞춤법 수정, URL 붙여넣기, ‘여기’처럼 짧은 표시 텍스트가 있는 링크 붙여넣기, 인용 답장, 서명, 템플릿.
  • 삽입: 텍스트·이미지·파일 붙여넣기 또는 드롭, AI 작성 도구·Smart Compose·다른 확장 프로그램·받아쓰기, 여러 단어로 확장되는 텍스트 대체, 기계가 생성한 것처럼 보이는 키 입력.
  • 작성 중 배지에 마우스를 올리면 직접 입력한 문자 수, 삽입한 문자 수와 삽입 이유, 최근 입력 이벤트를 확인할 수 있으며 실제 작성한 텍스트는 표시하지 않음.

서명으로 배지 확인

  • 이메일 아래에 ‘✅ typed’라고 쓰는 것만으로 누구나 배지를 흉내 낼 수 있으므로, Typed는 브라우저에만 저장되는 키로 배지에 서명함.
  • 서명은 발신자·점수·본문을 포함하며, 이 중 하나라도 변경되면 배지에 ‘bad signature’가 표시됨.
  • SSH와 같은 최초 사용 신뢰 방식이며, 알려진 발신자에게서 새 키가 발견되면 눈에 띄는 경고가 표시됨.
  • 기기에서 생성되는 추출 불가능한 ECDSA P-256 키를 사용하며 Gmail은 이 키에 접근할 수 없음.
  • 상태 표시는 기존 이메일과 키가 일치해 확인된 경우, 새 발신자 키가 고정되는 경우, 같은 발신자에게서 키가 바뀐 경우, 본문이나 점수가 수정된 경우, 서명이 없는 경우를 구분함.

개인정보 보호를 고려한 설계

  • Typed에는 백엔드와 네트워크 코드가 없으며, 권한은 저장소뿐이고 mail.google.com에서만 실행됨.
  • 기록하지 않고 개수만 계산: 초안마다 두 개의 숫자를 저장하며 누른 키나 작성한 내용은 기록하지 않음.
  • 로컬에서만 처리: 초안을 닫았다 다시 열어도 점수가 유지되며, 로컬 저장소에 보관되는 집계값과 지문은 30일 후 만료됨.
  • 읽을 수 있는 코드: 빌드 단계와 의존성이 없는 일반 자바스크립트 약 500줄로 구성됨. 코드에서 fetch를 검색해도 해당 호출이 없음.

이용 가능 브라우저

  • Typed는 손으로 직접 작성한 내용을 표시하는 무료 확장 프로그램임.
  • Chrome, Edge, Brave, Arc에서 사용할 수 있으며 Gmail에서 작동함.
  • Chrome 웹 스토어에서 Typed를 받을 수 있음.