> For the complete documentation index, see [llms.txt](https://zokanetwork.gitbook.io/zokanetwork/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zokanetwork.gitbook.io/zokanetwork/wallets/security-model.md).

# Wallet Security

ZOKA wallets are self-custodial. The wallet controls keys locally and public RPC nodes provide chain data.

## Local Secrets

* Recovery phrase.
* Scan key.
* Spend key.
* Wallet password.
* Encrypted local wallet files.

## ZKAPriv Protection

ZKAPriv uses PIN or biometric unlock, encrypted local storage, automatic session locking, and screenshot protection.

The Android implementation stores account data through encrypted local storage and uses Android Keystore-backed encryption where available. Sensitive screens, including recovery and key-related views, are protected by the app lock flow.

The app also enables screenshot protection in normal builds so wallet screens, seed phrases, and scan keys do not appear in Android recents, screenshots, or screen recordings.

## ZSilent Core Protection

ZSilent Core avoids passing secrets through command-line arguments by using environment-backed process channels for wallet and node passwords.

The desktop architecture keeps the UI as a coordinator. Wallet lifecycle, node control, mining control, encrypted settings, log redaction, and sensitive value handling are separated into explicit service modules. Runtime logs are sanitized so lines containing obvious secret terms are redacted before display.

## What Users Still Control

The security model depends on user behavior as well as code:

* Keep recovery phrases offline.
* Do not paste scan keys, spend keys, or wallet passwords into websites.
* Treat exported wallet backups as sensitive even when encrypted.
* Lock the device when not in use.
* Prefer local node operation when possible.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zokanetwork.gitbook.io/zokanetwork/wallets/security-model.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
