본문으로 건너뛰기
PrivateDiary
도움말 목차

Android 앱

앱은 웹과 같은 계정, 같은 일기를 씁니다. 암호화 방식도 같고, 휴대폰에서 일기를 지키는 장치가 더해져 있습니다.

생체 인증

설정 → 일기장 지키기에서 생체 인증을 켜면 OTP와 같은 방식으로 동작합니다. 일기 암호를 입력하기전에 지문이나 얼굴을 먼저 확인하고, 일기 암호를 대신하지는 않습니다.

  • 일기를 여는 방법은 두 가지입니다. 생체 인증 + 일기 암호, 또는 백업 코드만으로. 백업 코드는 OTP와 마찬가지로 생체 인증을 대신합니다.
  • 생체 인증을 통과하기 전에는 일기 암호 입력란이 나타나지 않아, 일기 암호를 시험해 볼 수도 없습니다.
  • 일기 암호가 필요한 설정(일기 암호 변경, 백업 코드 만들기 등)도 생체 인증을 먼저 거칩니다.
  • 일기를 잠그거나 앱을 벗어나면 다시 확인합니다.
  • 휴대폰에는 일기 암호도, 일기를 여는 열쇠도 저장하지 않습니다. 보안 칩 안에 확인용 키 하나만 만들고, 확인할 때마다 이 키로 서명해 실제 생체 인식을 거쳤는지 검증합니다.
  • 화면 잠금 PIN으로는 대신할 수 없습니다. 어깨 너머로 보일 수 있기 때문입니다.
  • 휴대폰에 새 지문이나 얼굴이 등록되면 생체 인증을 통과할 수 없게 됩니다. 백업 코드로 열거나, 로그인 비밀번호(또는 Google)로 본인을 확인한 뒤 다시 설정하세요. 로그인이 없는 휴대폰 일기장과 휴대폰 백업은 이때 일기 암호만으로 열리고, 화면에 그 사실을 알려 줍니다.
  • 앱을 벗어나 있는 동안 일기가 잠기면, 돌아왔을 때 생체 인증 창이 바로 다시 뜹니다. (예전 버전에는 이때 생체 인증 창이 뜨지 않고 “확인하지 못했어요”만 반복되던 문제가 있었고, 고쳤습니다.)
  • 끌 때도 생체 인증이 필요합니다. 로그아웃해도 이 휴대폰의 설정은 유지됩니다.
  • 이 휴대폰에서만 적용됩니다. 앱 데이터를 지우면 함께 사라지며, 그때는 로그인 비밀번호와 일기 암호(OTP를 켰다면 OTP도)를 다시 입력해야 합니다.

휴대폰 백업

설정 → 데이터에서 이 휴대폰에 백업하기를 켜면, 계정의 일기를 이 휴대폰에도 잠긴 채로 둡니다. 서버에 연결할 수 없거나 서버에서 일기가 사라졌을 때를 대비한 사본입니다.

  • 서버가 갖고 있는 것과 똑같은 것만 둡니다: 잠긴 일기, 일기 암호와 백업 코드로 잠긴 열쇠. 일기 암호도, 열린 일기도 휴대폰에 쓰지 않습니다.
  • 켜 둔 동안에는 일기를 쓰고 읽을 때마다 사본이 함께 새로워집니다. 서버에서 사라진 일기도 사본에서는 지우지 않습니다.
  • 서버에 연결할 수 없으면 일기장 화면과 로그인 화면에 휴대폰 백업 열기가 나타납니다. 로그인하지 않아도 일기 암호(또는 백업 코드)로 열어 읽고 내보낼 수 있습니다. 새 일기를 쓰거나 설정을 바꿀 수는 없습니다.
  • 2단계 인증은 서버가 확인하는 것이라 휴대폰에 있는 사본은 지키지 못합니다. 사본은 일기 암호와 생체 인증으로 지켜집니다.
  • 로그아웃해도 남고, 끄거나 계정을 삭제하면 지워집니다. 휴대폰의 앱 데이터와 함께 지워지며, 기기 간 이동으로 옮겨지지 않습니다.

서버 없이 이 휴대폰에만 쓰기

로그인 화면이나 설정 → 데이터의 서버 없이 이 휴대폰에만 쓰기로, 계정 없이 이 휴대폰 안에만 있는 일기장을 쓸 수 있습니다. 서버를 믿지 않아도 되도록 아예 떨어뜨려 둔 방식입니다.

  • 이 방식을 쓰는 동안 앱은 어떤 서버에도 연결하지 않습니다. 앱 자체가 모든 네트워크 요청을 막고, 앱을 다시 켜도 계속 막습니다. PrivateDiary 서버는 이 일기장이 있는지조차 모릅니다.
  • 일기 암호, 백업 코드, 자동 잠금, 생체 인증, 쓰는 글 가리기, 임시 저장, 내보내기와 불러오기는 계정과 똑같이 동작합니다. 암호화 방식도 같습니다. 2단계 인증과 하루 한도는 서버의 기능이라 없습니다.
  • 계정과는 완전히 따로입니다. 바꾸면 계정에서 로그아웃하고, 계정 일기와 휴대폰 일기는 섞이지 않습니다. 계정 일기를 옮기려면 잠긴 파일로 내보낸 뒤 휴대폰 일기장에서 불러오세요. 반대 방향도 같습니다.
  • 계정으로 돌아가기를 해도 휴대폰 일기장은 그대로 남아, 언제든 다시 열 수 있습니다.

휴대폰 일기장은 다른 곳에 사본이 없습니다. 휴대폰을 잃어버리거나, 앱을 지우거나, 앱 데이터를 지우면 일기도 사라집니다. 가끔 잠긴 파일로 내보내 휴대폰 밖에 보관하세요.

앱을 벗어나면 잠깁니다

홈 화면으로 나가거나, 다른 앱으로 바꾸거나, 화면이 꺼지면 열려 있던 일기는 바로 잠깁니다. 자동 잠금 시간 설정과 상관없이 적용됩니다. 쓰는 중이던 글은 그대로 남아 있습니다.

화면을 지키는 장치

  • 앱 화면은 캡처하거나 녹화할 수 없고, 최근 앱 목록에도 내용 대신 빈 화면이 보입니다.
  • 앱을 쓰는 동안에는 다른 앱이 화면 위에 띄운 창이 숨겨집니다. 가짜 창으로 입력을 가로채지 못합니다.
  • 키보드에는 입력 내용을 학습하거나 저장하지 말라고 요청합니다. 일기 문장이 추천 단어로 나타나지 않습니다.
  • Android 14 이상에서는 TalkBack 같은 실제 접근성 도구만 화면 내용을 읽을 수 있습니다. 접근성 기능을 악용하는 앱은 내용을 읽지 못합니다.
  • 백업 코드를 복사하면 민감한 내용으로 표시되어 미리보기에 나오지 않고, 30초 뒤 지워집니다.

앱이 실행하는 코드

앱의 화면과 암호화 코드는 모두 앱 안에 들어 있고, 서버에서 받아 오지 않습니다. 앱은 서명된 그대로만 실행되므로, 서버가 바뀌거나 공격받아도 앱이 다른 코드를 실행하게 만들 수 없습니다. 앱이 연결하는 곳은 일기를 저장하는 Firebase 서버뿐이며, 그 밖의 주소로는 어떤 요청도 나가지 않습니다. 휴대폰 일기장을 쓰는 동안에는 Firebase 서버로도 나가지 않습니다.

휴대폰 상태 알림

화면 잠금이 없거나, 루팅되었거나, USB 디버깅이 켜져 있으면 앱 위쪽에 알려 줍니다. 앱 사용을 막지는 않지만, 이런 상태에서는 휴대폰 자체가 일기를 지키기 어렵습니다.

휴대폰을 바꾸면 새 휴대폰에서 다시 로그인하고 일기 암호로 엽니다. 생체 인증 설정과 앱 데이터는 백업이나 기기 간 이동으로 옮겨지지 않으니, 새 휴대폰에서 다시 켜주세요.