Firedown이 데이터를 보호하는 방법
최종 검토일: 2026년 10월 18일Firedown에는 계정이 없으며, 무엇을 탐색하거나 다운로드하는지 기록하지 않습니다. 북마크와 백업은 당신만 가진 키로, 휴대폰을 떠나기 전에 휴대폰에서 암호화됩니다.
한눈에 보기
- 계정 없음. 이메일도, 비밀번호도 없습니다. 휴대폰에서 생성된 복구 코드가 유일한 키이며, 이 코드는 휴대폰을 떠나지 않습니다.
- 중간에 아무것도 없음. 다운로드는 사이트에서 휴대폰으로 곧바로 옵니다. 우리의 어떤 서버도 이를 보지 않습니다.
- 당신의 저장소, 우리의 암호화. 백업은 당신이 선택한 저장소로 갑니다. Google Drive, Dropbox, Nextcloud, SD 카드 또는 휴대폰 자체의 폴더, WebDAV 서버, 또는 S3 버킷입니다. 그곳에 기록되기 전에 휴대폰에서 암호화됩니다.
- 제공자가 볼 수 있는 것. 파일이 몇 개인지, 얼마나 큰지, 언제 기록되었는지. 이름이나 내용은 절대 볼 수 없습니다.
01 앱 전반
- 탐색. Firedown은 Firefox의 GeckoView 엔진 위에 uBlock Origin을 내장해 만들어졌으므로, 광고와 트래커는 로드되기 전에 차단됩니다. 탐색 내용에 관한 어떤 정보도 우리에게 전송되지 않습니다.
- 다운로드. 파일은 사이트에서 휴대폰으로 곧바로 오며, 중간에 우리 서버가 없으므로 우리가 기록할 것이 없습니다.
- 다른 휴대폰으로 보내기. 완료된 다운로드는 WebRTC를 통해 종단 간 암호화된 상태로 다른 휴대폰에 직접 보낼 수 있으며, 서버에는 아무것도 저장되지 않습니다. 두 휴대폰이 서로 직접 연결할 수 없을 때는 암호화된 스트림이 우리 릴레이를 거치며, 릴레이는 이를 읽을 수 없습니다.
- 보안 폴더. 그곳으로 옮긴 파일은 PIN 또는 지문으로 보호되며, 다른 모든 앱에는 보이지 않습니다. 보안 폴더는 휴대폰에 남으며 절대 백업되지 않습니다.
- 북마크 동기화. 무료이며 기본적으로 꺼져 있습니다. 북마크는 업로드되기 전에 휴대폰에서 복구 코드로 암호화됩니다.
- 업데이트. 모든 빌드는 동일한 키로 서명되며, 우리 GitHub releases와 대조해 확인할 수 있습니다. 앱은 하루에 한 번 새 버전이 있는지 묻습니다. 이 요청에는 앱 버전과 매달 바뀌는 토큰이 포함되며, 활성 설치 수를 세는 데에만 사용됩니다.
02 백업은 당신이 선택한 저장소에 있습니다
백업은 당신이 선택한 다운로드의 암호화된 사본을 보관합니다. 저장할 곳은 한 번만 고르면 됩니다: Android 자체의 폴더 선택기로 고르는 폴더(Google Drive, Dropbox 또는 Nextcloud의 폴더, SD 카드, 또는 휴대폰 저장공간), 로그인하는 WebDAV 서버(Nextcloud, ownCloud, NAS), 또는 Firedown에 키를 넘겨주는 S3 버킷(Backblaze B2, Cloudflare R2, Wasabi, MinIO). 폴더라면 Firedown이 암호화된 파일을 기록하고, 제공자의 앱이 다른 모든 파일과 마찬가지로 이를 동기화합니다. 서버나 버킷이라면 Firedown이 직접 업로드합니다.
그 경로에는 Firedown 서버가 없으며, 당신이 무엇을 어디에 백업하는지에 관한 어떤 정보도 우리에게 전송되지 않습니다. 폴더라면 Firedown은 당신이 고른 그 한 폴더에만 접근할 수 있고 Drive나 카드의 다른 어떤 것에도 접근할 수 없습니다. 서버나 버킷이라면 로그인 정보나 키가 허용하는 모든 것에 접근할 수 있으므로, Firedown은 버킷 하나로 제한된 키를 요청합니다. 로그인 정보는 암호화된 채로 휴대폰에 남고, 백업되지 않습니다. 다른 곳을 선택하면 이전 곳은 잊히고, 그 안의 파일은 있던 자리에 그대로 남습니다.
이 기능은 제공자가 저장하는 모든 것을 읽거나 다른 사람에게 넘길 수 있다는 가정하에 설계되었습니다. 어느 경우든 파일은 읽을 수 없는 상태로 남습니다. 폴더에는 파일을 해독할 수 있는 것이 결코 들어 있지 않기 때문입니다.
03 복구 코드가 열쇠의 전부입니다
계정도, 이메일도, 비밀번호도 없습니다. 휴대폰이 복구 코드를 생성하고 모든 키를 기기 안에서 그로부터 유도합니다.
코드는 어디에도 전송되지 않으며 폴더에 기록되지도 않습니다. 다른 휴대폰에서 백업을 읽으려면 그곳에 같은 코드를 입력하고 같은 폴더, 서버 또는 버킷을 선택하세요. 우리는 사본을 갖고 있지 않으며 만들 수도 없습니다.
04 파일을 백업하면 일어나는 일
- 그 파일만을 위한 새 키가 생성됩니다. 단 하나의 키로 전체 백업이 열리는 일은 없습니다.
- 파일은 AES-256-GCM으로, 조각 단위로 휴대폰에서 암호화됩니다. 각 조각은 그 파일 안의 위치에 결속되어, 조각을 바꾸거나 재배열하거나 파일 간에 옮길 수 없습니다.
- 파일의 키는 복구 코드에서 유도한 키로 잠깁니다. 이 키는 작은 동반 파일에 담겨, 이름, 종류, 날짜, 미리보기와 함께 암호화됩니다.
- 두 파일은 무작위 이름으로 당신의 폴더, 서버 또는 버킷에 기록됩니다.
복원은 같은 단계를 휴대폰에서 거꾸로 수행합니다. 다른 어디에도 키는 존재하지 않습니다.
- 이름
- 종류
- 크기
- 18.9 MB · 여전히 보임
- 저장일
- 2026년 7월 14일 09:12 · 여전히 보임
휴대폰을 떠나는 것은 이 상태입니다. 이름과 종류는 암호화된 동반 파일 안에 담겨 전달되며, 크기와 시각은 숨길 수 없습니다.
05 제공자가 볼 수 있는 것과 없는 것
백업을 보관하는 쪽은 파일을 볼 뿐, 그것이 무엇인지는 보지 못합니다. 암호화는 파일이 무엇인지를 숨기지, 파일이 존재한다는 사실을 숨기지는 않습니다.
제공자가 볼 수 있는 것
- 각 파일의 크기
- 백업한 파일의 개수
- 각 파일이 기록된 시점
- 복구 코드에서 유도된 폴더 이름(이 이름으로 코드를 되돌려 알아낼 수는 없습니다)
- 파일이 업로드되는 IP 주소
- 당신이 그 제공자에 가진 계정을 통해 이미 알고 있는 정보
볼 수 없는 것
- 파일 이름
- 파일 내용
- 썸네일이나 미리보기
- 파일의 종류
- 다운로드가 어느 사이트에서 왔는지
- 복구 코드나 그 어떤 키
| 파일 | 크기 | 기록 시각 |
|---|---|---|
| a3f9c2…7e10.fdvc | 18,900,102 bytes | 2026-07-14 09:12 |
| a3f9c2…7e10.entry | 41,283 bytes | 2026-07-14 09:12 |
위의 18.9 MB 파일에 대해 폴더가 보관하는 것은 이 두 파일이 전부입니다. 무작위 이름이며, 종류는 없습니다. 크기와 시각은 실재하는 신호이며, 암호화가 이를 없애 주지는 않습니다.
06 북마크 동기화와 우리 서버
북마크 동기화는 우리 서버에 데이터를 저장하는 유일한 기능입니다. 북마크는 복구 코드에서 유도한 키로 휴대폰에서 하나의 블록으로 암호화됩니다. 서버는 그 블록을 저장하고 돌려줄 뿐, 열 수는 없습니다.
모든 요청은 같은 코드에서 유도한 키로 서명되므로, 당신의 휴대폰만 북마크를 교체할 수 있습니다. 서버가 보는 것은 코드에서 유도된 계정 번호, 블록의 크기, 블록이 바뀌는 시점, 그리고 각 요청이 오는 IP 주소입니다.
07 이것이 지켜 주지 못하는 것
- 침해된 휴대폰. 암호화는 기기에서 이루어지므로, 침해된 기기에서는 파일이 평문으로 존재합니다. 폴더 쪽의 어떤 것도 이를 해결하지 못합니다.
- 잃어버린 복구 코드. 누구도 복구할 수 없습니다.
- 메타데이터. 백업의 크기, 개수, 시각은 백업을 보관하는 쪽에 보이며, 훨씬 비싼 설계 없이는 숨길 수 없습니다.
- 연결. 북마크 동기화를 사용하면, 백업 폴더의 이름은 우리 북마크 서버가 아는 계정 번호와 같습니다. 둘 다 가진 사람은 둘이 한 사람의 것임을 알 수 있지만, 여전히 어느 쪽도 읽을 수는 없습니다.
- 폴더, 서버 또는 버킷 분실. 제공자가 지켜 주는 것은 백업의 가용성이지, 비밀성이 아닙니다. 제공자가 파일을 삭제하거나 계정을 닫으면, 또는 폴더가 분실된 휴대폰이나 카드에 있었다면, 백업도 함께 사라집니다.
- 백업하지 않은 파일. 백업은 당신이 백업한 것만 다룹니다. 보안 폴더는 휴대폰에 남으며 절대 포함되지 않습니다.
08 직접 확인하세요
암호화와 키 유도는 서버가 아닌 앱에서 실행됩니다. 이 페이지의 모든 주장은 앱의 소스 코드만으로 확인할 수 있습니다.
| 파일 | 역할 |
|---|---|
| sync/crypto/SyncIdentity.java | 코드에서 모든 키를 유도 |
| sync/crypto/VaultCrypto.java | 파일별 암호화 |
| sync/crypto/BookmarkBlob.java | 암호화된 동반 파일과 북마크 |
| sync/BackupLayout.java | 폴더, 서버 또는 버킷에 기록되는 내용 |
| sync/S3Settings.java | 버킷의 키, 휴대폰에서 암호화됨 |
| sync/WebDavSettings.java | 서버의 비밀번호, 휴대폰에서 암호화됨 |
| sync/VaultEngine.java | 파일 백업 및 복원 |
| sync/crypto/Canonical.java | 북마크 동기화 요청 서명 |
감사. Firedown은 독립적인 보안 감사를 받은 적이 없습니다. 코드는 AI 지원 검토를 포함해 내부적으로 검토되며, 이 페이지의 모든 주장은 위 공개 소스의 파일과 대응됩니다.
보안 문제는 [email protected]로 비공개로 알려 주세요. 자세한 내용은 앱 저장소의 SECURITY.md에 있습니다.
이 문서는 참고용 번역입니다. 차이가 있는 경우 이 페이지의 영어 버전이 우선합니다.