> For the complete documentation index, see [llms.txt](https://tutorial.coconut.onl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tutorial.coconut.onl/faq/vault.md).

# 볼트

<details>

<summary><strong>코코넛 볼트 사용 중 인터넷이 실수로 켜지면 어떻게 되나요?</strong></summary>

**인터넷 연결이 감지되면, 메모리에 올라와 있던 민감 데이터가 삭제되고, 앱 사용이 즉시 중단됩니다.**

코코넛 볼트는 키를 스마트폰 내의 보안 모듈을 사용해 저장하므로 앱이 임의로 삭제할 수 없으며, 외부에서 추출하기도 극도로 어렵습니다. 네트워크가 켜졌다는 이유만으로 이 보안 영역의 키를 삭제하지는 않습니다. 그렇게하면 오히려 사용자가 영구적으로 키를 잃을 위험이 있습니다.

</details>

<details>

<summary><strong>볼트용 공기계를 다른 용도로 함께 사용해도 될까요?</strong></summary>

가능은 하지만 **권장하지 않습니다.**

코코넛 볼트는 원래 오프라인 전용 서명기로 쓰는 것을 기준으로 설계되어 있어, 다른 용도로 사용하면 보안 강도가 떨어질 수 있습니다.

***

![](data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)✔️ **왜 추천하지 않나요?**

* **네트워크 오작동 위험:** 다른 앱 사용 중 Wi-Fi·블루투스가 실수로 켜질 수 있습니다.
* **앱 설치·파일 전송 위험:** 공기계가 일반 스마트폰처럼 동작하면서 악성코드·취약점 노출 가능성이 생깁니다.
* **볼트의 목적 문제:** 볼트는 “인터넷이 완전히 차단된 전용 서명기”일 때 가장 안전합니다.

</details>

<details>

<summary><strong>코코넛 볼트의 보안 강점은 무엇인가요?</strong></summary>

스마트폰에는 애플·삼성이 오랜 기간 투자해 만든 **Secure Enclave / StrongBox / TEE / Sandboxing / 전체 기기 암호화** 같은 하드웨어 기반 보안 기술이 탑재돼 있습니다. 이 보안 수준은 업계 최고 수준이며, 전 세계인들이 사용하면서 가장 많이 검증한 기술이기도 합니다.

코코넛 볼트는 이 보안 스택 위에서 동작하며, 민감한 키 연산은 하드웨어 기반 보안 모듈을 사용해 처리하고 있습니다.

</details>

<details>

<summary><strong>블루투스·와이파이가 완전히 차단됐다는 것을 어떻게 검증할 수 있나요?</strong></summary>

스마트폰에서는 **운영체제(OS)가 블루투스·와이파이의 실제 상태를 직접 관리합니다.**

**기기가 탈옥·루팅 등으로 변조되지 않았다면**, OS가 제공하는 “켜짐/꺼짐” 정보는 그대로 신뢰할 수 있는 상태값입니다.

</details>

<details>

<summary><strong>갤럭시 스마트폰의 보안 수준은 볼트용으로 적합한가요?</strong></summary>

갤럭시 S4 이후 출시된 기기에는 **Knox(소프트웨어 보안 플랫폼)**&#xAC00; 기본 탑재되어 있으며, S·Z·Note 같은 플래그십 모델에는 **TEE + Knox Vault(하드웨어 보안칩)** 조합까지 포함돼 더 높은 수준의 보호가 제공됩니다.

Knox는 칩 단위 보안부터 운영체제 무결성 검증까지 여러 층의 방어를 제공하므로, 갤럭시 스마트폰은 전반적으로 코코넛 볼트를 사용하기에 충분히 안전한 보안 환경을 갖추고 있습니다.

</details>

<details>

<summary><strong>휴대폰을 공장 초기화해도 데이터가 100% 삭제되지 않는다던데 사실인가요?</strong></summary>

공장 초기화는 저장소의 “목차”를 지우는 방식이라, 데이터 일부가 물리적으로 남을 가능성이 있습니다.&#x20;

하지만 **코코넛 볼트의 민감 데이터(니모닉)는 일반 저장소에 기록되지 않습니다.**&#x20;

코코넛 볼트는 민감 데이터를 다음과 같이 처리합니다.

* **TEE(Trusted Execution Environment) 또는 StrongBox 같은 하드웨어 보안 모듈 안에서 직접 보관 및 연산**
* 즉, **일반 앱 영역·일반 저장공간에는 어떠한 민감 데이터도 기록되지 않음**
* 앱 삭제, 재설치, 기기 비밀번호 변경 등 보안 이벤트가 발생하면 **TEE 내부 키도 폐기되며 복구 불가**

결론적으로, 공장 초기화로 일반 데이터 일부가 남을 수는 있지만, 민감 데이터는 애초에 일반 영역에 저장되지 않고, 하드웨어 보안 모듈 안에서만 관리되기 때문에 복구될 가능성이 없습니다.

***

![](data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)✔️ **공장 초기화 시 보안 모듈 데이터는 어떻게 되나요?**

* 보안 모듈 내부의 키는 다시 사용 불가능한 상태로 무효화됩니다.
* 이 키들은 외부 저장소에 백업되지 않습니다.
* 제조사가 제공하는 보안 칩 규격(ARM TrustZone, Google StrongBox 등)에 따라 공장 초기화 시 자동 폐기되거나 접근 불가능 상태로 전환됩니다.
* 한 번 무효화된 키는 복구할 방법이 없습니다.

</details>

<details>

<summary><strong>코코넛 볼트에 니모닉이 저장되어 있다면 코코넛 팀이 제 키를 가져갈 수 있는 것 아닌가요?</strong></summary>

아닙니다. **구조적으로 불가능합니다.**

* **코코넛 볼트는 인터넷이 완전히 차단된 상태에서만 동작**하며,\
  앱 내부에는 **서버에 연결하거나 데이터를 전송하는 코드 자체가 없습니다.**
* **iCloud/Google Cloud 백업에도 포함되지 않도록 설계**되어 있어\
  어떤 형태의 클라우드 업로드도 발생할 수 없습니다.
* **키 데이터는 TEE/Secure Enclave 내부에만 저장**되며,\
  앱이나 운영체제조차 그 영역 안을 들여다볼 수 없습니다.

코코넛 볼트는 **오픈소스**이기 때문에 “혹시 숨겨진 통신 코드가 있는지”, “마이그레이션 과정에서 키가 자동으로 복사되는지” 직접 검증할 수 있습니다.

</details>

<details>

<summary><strong>iOS에서 NFC는 끌 수 없는데, 보안상 문제되지 않나요?</strong></summary>

**iOS·Android 모두 보안 정책상 앱이 NFC를 직접 끄거나 제어할 수 없습니다.**

하지만 **코코넛 볼트는 NFC 권한을 아예 요청하지 않기 때문에**, 앱 내부에서는 NFC를 통해 어떤 동작도 수행할 수 없습니다.

또한 **NFC는 수 cm 이내 초근접 통신**이며, 모든 동작은 운영체제(OS)가 통제합니다. 따라서 NFC만으로 키를 탈취하거나 임의 코드를 실행하는 공격은 현실적으로 불가능합니다.

***

![](data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)✔️ **더 안전하게 쓰는 방법**

* Android: 설정 → NFC를 직접 꺼두면 완전 차단됩니다.
* iOS: NFC를 끌 수 없으므로, 완전한 에어갭을 원하면 전파 차단 파우치 같은 제품을 함께 사용하실 것을 고려해 보세요.

</details>

<details>

<summary><strong>코코넛 볼트에서 만들어주는 니모닉은 안전한가요?</strong></summary>

코코넛 볼트의 니모닉 생성은 **Dart 언어**의 Random.secure() 방식을 기반으로 일반적인 의사 난수(PRNG)가 아닌, **암호학적으로 안전한 난수 생성기(CSPRNG) 를 제공**합니다. 이는 통계적 난수가 아닌 보안 목적에 적합한 난수로 키 생성, 시드, 니모닉 생성 등 암호 자산 보안 영역에 사용 하는 방식입니다.&#x20;

해당 방식으로 생성된 난수는 외부에서 값을 예측할 수 없고 동일한 환경에서도 재현 불가능하며, 시드 노출 없이 결과 추적 불가한 보안 특성을 갖습니다. 즉, 코코넛 볼트로 자동 생성된 니모닉은 제3자가 역추적하거나 추정하는 것이 사실상 불가능합니다.

코코넛 볼트는 오픈소스이므로, 이 정보는 깃허브에서 직접 확인하실 수 있습니다.

```dart
final secureRandom = Random.secure();
final token = List.generate(32, (_) => secureRandom.nextInt(256));
```

<https://github.com/noncelab/coconut_lib/blob/main/lib/src/wallet/seed.dart#L29>

</details>

<details>

<summary><strong>스마트폰을 바꾸면 코코넛 볼트를 다시 결제해야 하나요?</strong></summary>

같은 운영체제(OS)와 동일한 계정으로 결제하셨다면,

**다른 공기계(새 기기)에서도 재결제 없이 무료로 다시 설치 가능합니다.**

***

#### **✔️ 상황별 요약**

* **iPhone → iPhone**

  같은 **Apple ID**면 App Store에서 바로 재다운로드 가능
* **Galaxy → Galaxy**

  같은 **Google 계정(Gmail)** 이면 플레이스토어에서 구매 이력 자동 복원
* **iPhone ↔ Android 기기 변경**

  두 스토어는 별도 체계이므로 **새로 결제해야 합니다.**

</details>
