FriendLock · design.sayne.friendlock · v1.0 (debug)
ANON-AUTH OK

두 번째 눈을 갖춘 안드로이드 앱 잠금

자신의 앱을 잠급니다.
친구에게
키를 맡기세요.

FriendLock은 you잠그는 Android 앱 잠금입니다. your앱 — 다시 로그인하려면 페어링된 부모나 친구의 휴대폰을 탭(또는 6자리 코드)해야 합니다. 페어링은 상호적입니다. 페어링된 모든 장치는 다른 장치를 승인할 수 있습니다.

비밀은 잠긴 전화기에 절대 남지 않습니다 소리내어 읽기 코드를 통해 오프라인으로 작동합니다. 계정 없음 — 설계상 익명
9:41App lockedInstagramEnter a code from a paired device,or ask for approval.Request approval1234567890
READ
THIS
FIRST

깨지지 않는 자물쇠가 아닌 헌신의 도구입니다.

우리는 이에 대해 솔직하게 말합니다. 전면: 일반(루팅되지 않은) Android 휴대폰에서는 안전 모드, 강제 종료, ADB 또는 공장 초기화를 통해 FriendLock을 모두 제거할 수 있습니다. 단호한 소유자를 물리치도록 설계되지 않았습니다. 그것이 하는 일은 무분별한 탭 대신 고의적이고 눈에 띄는에서 동굴 탐험을 만드는 것입니다. 즉, 함께 선택한 사람들 간의 책임입니다. 진정한 시행이 필요한 경우에는 다른 (장치 소유자) 제품입니다. 전체 제한 사항을 확인하세요 →

01 — 보안 모델

잠긴 휴대전화에는 절대 비밀이 저장되지 않습니다.

순진한 "잠긴 전화기의 인증자" 설계는 깨졌습니다. 코드를 확인할 수 있는 모든 것은 코드를 생성할 수도 있습니다. FriendLock은 승인자의 전화와 백엔드에서만 TOTP 비밀을 유지합니다. 흐름을 추적할 경로를 선택하세요.

LOCKED PHONE · A
보호된 앱을 엽니다.
AccessibilityService가 앱을 감지하고 → WindowManager가 오버레이 잠금 화면을 그립니다.
코드 경로
승인자의 인증기에서 읽은 6자리 숫자를 입력합니다.
APPROVAL
'승인 요청'을 탭하세요.코드가 필요하지 않습니다.
오버레이는 서버 발행 권한에서만 숨겨지며 원시 푸시 페이로드에서는 숨겨지지 않습니다.
FIREBASE
비밀 보유 + 민트 부여
verifyOtp()
저장된 비밀에서 TOTP를 다시 계산합니다. 유효한? 시간 제한이 있는 보조금을 발행하세요.
requestUnlock()
unlock_request푸시를 페어링된 모든 승인자에게 라우팅합니다.
approveUnlock()
승인 시 보조금을 발행하고 → unlock_approved을 A로 다시 푸시합니다.
비밀은 서버 측 + B에 유지됩니다. A는 절대 읽을 수 없습니다. 그것.
APPROVER · B
부모/친구의 전화번호
AUTHENTICATOR
Google Authenticator와 같이 페어링된 장치당 실시간 6자리 코드를 표시합니다.
알림
실행 가능한 푸시를 가져오고 → 승인(또는 거부)을 탭합니다.
TOTP 비밀을 유지합니다. 데이터가 없는 경우 통화 중에 코드를 소리내어 읽을 수 있습니다.

안전한 이유:잠긴 휴대전화는 사용자가 입력한 내용만 전달하고 서버가 신뢰하는 내용만 신뢰합니다. 다시 서명합니다. 잠긴 장치에 대한 전체 액세스 권한이 있어도 향후 코드를 파생할 수 없습니다. 해당 코드는 귀하와 페어링한 사람들과 함께 살고 있습니다.

코드

6자리 대체

RFC 6238 TOTP, verifyOtp을 통해 서버 측에서 확인되었습니다. 승인자가 잠들어 있는 동안에도 작동합니다. 코드만 있으면 됩니다.

PUSH

탭하여 승인

FCM을 통한 원격 원탭 잠금 해제. 승인이 내려지면 잠긴 전화기가 자동으로 잠금 해제됩니다. 입력할 필요가 없습니다.

오프라인

소리내어 읽기

데이터 연결이 없나요? 인증 코드는 6자리입니다. 전화 통화를 통해 읽어보세요. 벨트와 멜빵.

A11Y

음성 피드백

진정한 TTS 접근성 레이어는 잠금 상태를 알려줍니다. 그 자체로 유용하며 FriendLock이 진정한 접근성 도구인 이유도 있습니다.

02 — 설정

1개의 빌드, 3개의 전화기, 2개의 역할이 잠금 해제됩니다.

역할은 페어링별로 이루어지므로 동일한 앱이 어디에서나 실행됩니다. 일반적인 테스트: 휴대전화 + 에뮬레이터를 locked장치로, 부모의 휴대전화를 approver로 설정한 다음 이를 뒤집어 페어링이 양방향임을 증명합니다.

모두
01

설치 및 로그인

처음 실행 시 각 전화기는 익명으로 로그인하고 푸시 토큰을 등록합니다. 이메일도 없고, 비밀번호도 없고, 계정도 없습니다.

잠김
02

권한 부여

마법사는 접근성, 다른 앱 위에 표시, 사용 권한 액세스, 알림, 배터리 최적화 끄기 등 각 항목을 딥 링크합니다.

승인자
03

QR로 페어링

승인자가 열림 Pair → Scan; 잠긴 전화기에 QR이 표시됩니다. 스캔하세요. 이제 승인자의 인증기에 해당 전화에 대한 라이브 코드가 표시됩니다.

잠김
04

앱 선택

보호할 앱(Chrome, YouTube, 게임…)을 선택하고 보호를 켜세요. 완료.

잠김
05

잠긴 앱 열기

오버레이가 나타납니다. 6자리 코드(또는)를 입력하고 승인 요청을 탭한 후 승인자의 탭을 기다립니다. 기본 부여: 5분

SWAP
06

역할 바꾸기

부모를 잠긴 휴대폰으로 설정하고 승인하세요. 페어링된 기기를 확인하면 다른 기기도 승인할 수 있습니다.

Pair your devicesSTEP 3 / 3Show my codeScan a codeShow your code onone phone — scan itfrom the other tolink them.ready to pair
Approval codesShare a code or tap approve to unlock.DEVICES YOU CAN UNLOCKMum's GalaxyUNLOCK CODE419 27330Alex's PixelUNLOCK CODE882 14030
03 — 정직한 제한

FriendLock이 수행할 수 없는 작업.

놀라시기보다는 저희를 믿으시기 바랍니다. FriendLock은 변조를 눈에 띄게만듭니다. 불가능하지는 않습니다.

소유자는 적인
  • 안전 모드, 강제 중지(설정 → 앱), ADB공장 재설정은 모두 일반 전화기에서 이를 무효화합니다.
  • 진정한 시행에는 기기 소유자프로비저닝(일회성 공장 초기화 등록)이 필요합니다. 그것은 미래의 "하드코어" 계층입니다.
  • iOS은 피어 강제 잠금을 전혀 수행할 수 없습니다.
실제 휴대폰에서의 신뢰성
  • 공격적인 OEM 배터리 킬러(Xiaomi/Samsung/Oppo/Vivo)는 백그라운드 서비스를 정지시킬 수 있습니다.
  • 마법사가 배터리 최적화 예외를 요청하지만 시스템 업데이트 후 자동으로 되돌릴 수 있습니다.
  • 푸시에는 지연 시간이 보장되지 않으므로 수동 코드 경로가 항상 대체 수단으로 제공됩니다.
올바른 방법으로 사용하세요
  • FriendLock은 상호 동의에 의해 페어링된 사람들 간의 자기 제한/디지털 웰빙입니다.
  • 다른 사람의 휴대폰을 비밀리에 모니터링하거나 제어하는 ​​것은 이 아니라입니다. 이는 스토커웨어이며 우리는 이를 구축하지 않습니다.
  • 페어링은 두 전화기 모두에 표시되며 항상 양방향입니다.
로드맵(v2)
  • 완전 오프라인 확인을 위해 Ed25519가 승인에 서명했습니다.
  • 기기 소유자 '하드코어'시행 계층.
  • 재실행 방지페어링 토큰 + 서버 고정 페일클로즈 상태.
04 — 자주 묻는 질문

직설적인 답변입니다.

예 — 일반 전화기에서는 가능합니다. FriendLock은 케이지가 아닌 헌신적인 장치입니다. 그것은 "즉시 포기"를 고의적이고 눈에 띄는 행동으로 바꿉니다. 엄격한 시행이 필요한 경우 로드맵에 있는 장치 소유자 프로비저닝이 필요합니다.
아니요. TOTP 비밀번호는 승인자의 전화와 Firebase 백엔드에만 존재합니다. 잠긴 전화기는 입력된 코드를 verifyOtp에 전달하고 서버가 다시 로그인하는 시간 제한 승인만 신뢰합니다. 즉, 코드 자체를 생성할 수는 없습니다.
승인자의 인증기는 일반 전화 통화를 통해 큰 소리로 읽을 수 있는 실시간 6자리 코드를 표시합니다. 코드 경로는 항상 푸시 대체 수단으로 사용할 수 있습니다.
아니요. 페어링은 상호 합의에 따라 이루어집니다. 두 장치 모두 관계를 확인하고 한쪽 장치가 다른 장치를 승인할 수 있습니다. FriendLock은 함께 선택한 사람들 사이의 자기 제한과 책임을 위해 만들어졌으며 결코 은밀한 통제를 위해 만들어지지 않았습니다.
아니요. 각 장치는 처음 실행 시 익명으로 로그인됩니다. 이메일, 비밀번호, 프로필은 없습니다. 승인을 전달하는 데 사용되는 안정적인 장치 ID만 있습니다.
아니요. iOS는 FriendLock이 사용하는 피어 강제 앱 잠금 모델을 허용하지 않으므로 Android 전용입니다.
design.sayne.friendlock · android

좋은 의도를 담아두세요.

믿을 수 있는 사람과 짝을 이루어 열쇠를 건네주고 반사적으로 대답하는 대신 "5분만 더" 대화를 나누세요.

무료 · 계정 없음 · 익명 인증 · Android 8 이상이 필요합니다.