Privacy policy

Effective: 9 November 2026. This policy covers the Qkeep website, browser extension and the Android and iOS apps. Changes will be posted on this page.

Who we are

Qkeep is an independent wallet operated by Lux8 labs ltd. It is not affiliated with or operated by the Quantus Network project.

Your wallet stays on your device

Your private keys, recovery phrases, passphrases and passwords never leave your device. Your wallet is encrypted with your password in browser storage for that website address, in the extension’s own storage, or in the private storage of the Android or iOS app. We cannot recover your password or access your wallet.

In the Android app, biometric unlock uses a key in Android Keystore that never leaves the device and works only after a fingerprint or face check. The app turns off Android backups, so uninstalling it deletes the wallet from the phone: keep your recovery phrase. Copies made in the app are marked sensitive, so Android keeps them out of the clipboard preview, and screenshots of the app are blocked.

In the iOS app, Face ID unlock uses a key in the iPhone Keychain that stays on this device and stops working if the enrolled faces change. Wallet data is kept out of iCloud and computer backups, so a new or restored iPhone needs your recovery phrase. Copied recovery phrases and keys stay on this iPhone, are not shared with your other Apple devices and are removed after one minute. Screen recording, mirroring and the app switcher show a cover instead of the wallet.

In both apps you can also set a 6-digit PIN. It opens the wallet with a device key that never leaves the phone: the Secure Enclave on iPhone, Android Keystore on Android. After 5 wrong PINs only your password opens the wallet. Showing a recovery phrase or a private key always asks for your password.

What our relay receives

The web wallet sends requests to /api/ at the website address you are using. The extension and the Android app use wallet.qkeep.app/api/. Ordinary account requests include addresses for balance and history checks, fee estimates and transaction context. The relay also receives signed transactions to broadcast and transaction hashes to track. Broadcast transactions are public on the blockchain.

Extra privacy mode is off by default and is saved on this device for this wallet. With it off (Normal mode), Encrypted Account balances, deposits and history are read from recipient buckets: each request names eight first bytes of account IDs, at most four of them real and the rest decoys kept with your cached data, never an Encrypted Account address. Downloaded bucket data is cached in IndexedDB on your device. This is the faster default. Encrypted Accounts with more than 4,096 deposits are matched on the device from the full public data instead. In both modes, spent-marker checks request eight nullifier-prefix buckets, including at least four random decoy buckets, without an address or complete nullifier. Proof preparation requests 32 shuffled deposit indices, including decoys, without an address. Ordinary account requests are unchanged in either mode. Encrypted Account requests and ordinary account requests are sent in separate bursts, never at the same time.

With Extra privacy mode on, Encrypted Accounts download shared public deposit, account and history data and match addresses locally. Spent-marker checks request eight nullifier-prefix buckets at a time, with at least four random decoy buckets. Complete nullifiers and the Encrypted Account address are not included in these checks. Proof preparation requests 32 shuffled deposit indices, including decoys, without an address. Downloaded data is cached in IndexedDB on your device and checked against a recent finalized snapshot and content hashes. These hashes detect corrupted downloads; they do not remove trust in the relay's chain data.

The relay and Cloudflare still see your connection, timing, requested prefixes and padded index sets. Repeated observations can narrow which prefixes or deposits matter, and a spend following a proof request may be correlated by timing. This is limited metadata protection, not anonymity. Older installed versions may still send addresses and complete nullifiers in their checks. Switching off stops the full-feed sync and offers to delete cached public data; Normal mode still uses nullifier buckets and padded proof context. A send already in review keeps the mode it started with until it finishes or is cancelled. A failed Extra privacy check shows an error and never silently falls back to the default requests.

API requests are not logged by our web server or relay. The relay keeps IP addresses in an in-memory rate-limit table until eviction or restart, without writing them to disk. While processing a request, our server can technically link its addresses and checks to the connecting IP address. It does not retain that association.

The relay keeps anonymous daily totals: how many transfers and private transfers were submitted, and how many different ordinary accounts opened their history that day (Encrypted Accounts are not counted), counted separately for the website (including the Android app) and the extension. Only these numbers are stored. To count different accounts, the relay uses a random key that exists only in memory for one day and is never written to disk, so the totals cannot be linked to any account address or IP address.

Website logs and Cloudflare

Requests for website files, unlike API requests, are recorded in standard web-server access logs containing the host, IP address, time and request line. These logs are rotated daily and kept for 14 days to operate and secure the service. We count distinct daily visitors from them and keep only the counts.

Cloudflare proxies traffic to the website and API and processes connection data under its own privacy policy.

To show an approximate USD value, our relay fetches the QTC price from CoinGecko every two minutes. The request contains no user data.

If you use swaps, requests send addresses and amounts to NEAR Intents through our relay.

The camera is used only while the scanner is open to read a QR code locally; camera frames and selected images are never uploaded. The Android app asks for camera permission the first time you open the scanner.

No tracking

The wallet and extension contain no analytics code, trackers, advertising or cookies, and send no telemetry. The only usage figures are the anonymous daily totals described above. We do not sell data.

Public blockchain and external sites

Transfers, addresses and amounts are public on the Quantus blockchain. Private sends also disclose the recipient and amount, as shown before sending.

Links to the explorer at qtcscan.com opens an external site.

Contact

Email hello@qkeep.app. Never send a recovery phrase, private key, passphrase or wallet password.

隐私政策

生效日期:2026 年 11 月 9 日。本政策适用于 Qkeep 网站、浏览器扩展以及 Android 和 iOS 应用。政策变更将在本页公布。

关于我们

Qkeep 是由 Lux8 labs ltd 运营的独立钱包,与 Quantus Network 项目无隶属关系,也非由该项目运营。

钱包保存在你的设备上

你的私钥、助记词、附加密码和钱包密码不会离开设备。钱包使用你的密码加密,保存在该网站地址对应的浏览器存储空间、扩展自身的存储空间,或 Android、iOS 应用的私有存储空间中。我们无法找回你的密码,也无法访问你的钱包。

在 Android 应用中,生物识别解锁使用保存在 Android Keystore 中的密钥,该密钥不会离开设备,且仅在指纹或面容验证后可用。应用关闭了 Android 备份,因此卸载应用会从手机上删除钱包,请保管好助记词。应用中复制的内容会被标记为敏感,Android 不会在剪贴板预览中显示;应用界面禁止截图。

在 iOS 应用中,面容 ID 解锁使用保存在 iPhone 钥匙串中的密钥,该密钥不会离开此设备,录入的面容发生变化后即失效。钱包数据不会进入 iCloud 或电脑备份,因此新的或恢复后的 iPhone 需要使用助记词。复制的助记词和私钥只保留在此 iPhone 上,不会共享到你的其他 Apple 设备,并在一分钟后清除。屏幕录制、镜像和应用切换器中显示遮罩,而不是钱包内容。

在两款应用中,你还可以设置 6 位 PIN 码。PIN 码通过不会离开手机的设备密钥打开钱包:iPhone 上为安全隔区,Android 上为 Android Keystore。连续输错 5 次 PIN 码后,只能用密码打开钱包。显示助记词或私钥时始终需要输入密码。

中继服务接收什么

网页版钱包向当前网站地址下的 /api/ 发送请求。扩展和 Android 应用使用 wallet.qkeep.app/api/。普通账户请求包含用于查询余额和历史记录的地址、手续费估算及交易上下文。中继还接收待广播的已签名交易和用于跟踪的交易哈希。广播的交易会在区块链上公开。

增强隐私模式默认关闭,设置按钱包保存在此设备上。关闭时即为普通模式,加密账户的余额、存款和历史通过收款方分组读取:每次请求列出八个账户 ID 的首字节,其中最多四个是真实的,其余为随缓存一同保存的掩护项,从不发送加密账户地址。下载的分组数据缓存在设备的 IndexedDB 中。这是速度更快的默认方式。存款超过 4,096 笔的加密账户改为在本机根据全量公开数据匹配。两种模式下,已花费标记检查均请求八个 nullifier 前缀分组,至少四个为随机掩护分组,不附带地址或完整 nullifier。准备证明时均请求包含掩护项、顺序打乱的 32 个存款索引,不附带地址。普通账户请求在两种模式下保持不变。加密账户请求与普通账户请求分批发送,不会同时进行。

开启增强隐私模式后,加密账户下载所有用户共享的公开存款、账户及历史数据,并在本机匹配地址。检查已花费标记时,每次请求八个 nullifier 前缀分组,其中至少四个是随机掩护分组。这些检查不发送完整 nullifier,也不发送加密账户地址。准备证明时会请求包含掩护项、顺序打乱的 32 个存款索引,不附带地址。下载数据缓存在设备的 IndexedDB 中,并根据近期已最终确定的快照和内容哈希进行检查。这些哈希可以检测下载损坏,但并不消除对中继所提供链上数据的信任。

中继和 Cloudflare 仍可看到连接信息、时间、请求的前缀及填充后的索引集合。多次观察可能缩小相关前缀或存款的范围,证明请求后紧接着发出的转账也可能通过时间关联。这是有限的元数据保护,并非匿名保证。旧版本在检查时仍可能发送地址和完整 nullifier。关闭模式会停止全量公开数据同步,并询问是否删除缓存;普通模式仍使用 nullifier 分组和带掩护项的证明上下文。已进入确认步骤的转账会继续使用开始时的模式,直至完成或取消。增强隐私检查失败时会显示错误,绝不会悄悄退回默认请求方式。

我们的 Web 服务器和中继服务不记录 API 请求日志。中继服务将 IP 地址保存在内存中的限流表里,直至条目被淘汰或服务重启,不写入磁盘。处理请求时,服务器在技术上能够将请求中的地址和检查与连接的 IP 地址关联起来,但不会保留这种关联。

中继服务保留匿名的每日合计:当天提交的转账和隐私转账数量,以及当天打开过交易记录的不同普通账户数量(不统计加密账户),网站(含 Android 应用)和扩展分别统计。只保存这些数字。为了统计不同账户,中继使用一个仅在内存中保留一天、从不写入磁盘的随机密钥,因此这些合计无法与任何账户地址或 IP 地址关联。

网站日志与 Cloudflare

与 API 请求不同,网站文件请求会被记录在标准 Web 服务器访问日志中,包含主机名、IP 地址、时间和请求行。日志每天轮转,保留 14 天,用于服务运行和安全维护。我们据此统计每日不同访客的数量,只保留数字。

Cloudflare 代理网站和 API 的流量,并按照其自身的隐私政策处理连接数据。

为显示大致的美元价值,我们的中继每两分钟从 CoinGecko 获取一次 QTC 价格。该请求不包含任何用户数据。

使用兑换时,请求会通过我们的中继将地址和金额发送给 NEAR Intents。

仅在扫描器打开时使用相机,在本机读取二维码;相机画面和所选图片绝不会上传。Android 应用会在你首次打开扫描器时请求相机权限。

不进行跟踪

钱包和扩展不包含分析代码、跟踪器、广告或 Cookie,也不发送遥测数据。唯一的使用数据是上文所述的匿名每日合计。我们不出售数据。

公开区块链与外部网站

Quantus 区块链上的转账、地址和金额是公开的。隐私转账也会公开收款地址和金额,发送前的钱包提示会说明这一点。

区块浏览器 qtcscan.com 的链接会打开外部网站。

联系

请发送邮件至 hello@qkeep.app。绝不要发送助记词、私钥、附加密码或钱包密码。