Vault - Hide Pics, App Lock 图标

Vault 数据 API:云备份、恢复与找回邮箱

Wafer Co. · 效率工具

Vault - Hide Pics, App Lock 是 Wafer Co. 发行的安卓隐私保险箱,最初由北京的网秦(NQ Mobile)打造。凭一个保险箱密码,它把照片和视频从系统相册中藏起来,可单独锁定应用,把私密联系人连同其短信和通话记录移进隐藏空间,还能收藏不留痕迹的私密浏览器书签。云备份界面带存储用量条,能把整个保险箱搬到新手机上恢复;在设置里绑定的找回邮箱,则让用户忘记保险箱密码时也能重置。它在 Google Play 工具类目面向美国市场,用户多是常与他人共用或借出手机、想把照片、聊天和应用藏好的人;同类竞品有 Keepsafe Photo Vault、LockMyPix、Private Photo Vault 等照片保险箱,伪装成计算器的相册锁,以及 AppLock by DoMobile 这类应用锁。

保险箱里的短信、联系人和通话记录以分类清单离开手机——smsList、contactList、calllogList,外加私密书签 bookmarksList——与之并列的是隐藏照片和视频的 fileList,每一行都带 fileId、path、digest、size 及可选的 meta。备份应答按类型返回结果(smsResult、calllogResult、fileResult),并给出传输文件本体所用的 fileUrl 与 uploadSize;恢复请求指明要取回哪些类别,并逐个文件返回 mimeType;媒体下载则按 fileId 以 startPosition/endPosition 字节区间断点续传。

围绕这些内容的是账户记录:登录时随 accessToken 返回、每次备份或恢复前都会重新读取的云端 quota 与已用字节 used,以及把 email 与 deviceId、spaceId 绑定在一起的找回邮箱记录。

换机迁移服务可借助备份/恢复闭环在手机之间搬运用户的联系人、短信、通话记录和加密相册,并用每个文件的 digest 校验无一遗漏;渠道商看板可按账户盯住 quota 与 used,在夜间备份悄悄失败前提前告警或推动升级;客服工具可绑定并查询找回邮箱,减少用户换机或忘记保险箱密码导致的锁账户工单。openData Studio 把这套保险箱备份、配额与找回数据变成可调用的开放数据,服务于上述集成。

应用截图

  • Vault - Hide Pics, App Lock 应用截图 1
  • Vault - Hide Pics, App Lock 应用截图 2
  • Vault - Hide Pics, App Lock 应用截图 3
  • Vault - Hide Pics, App Lock 应用截图 4
  • Vault - Hide Pics, App Lock 应用截图 5

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 云账号登录

    POST /v1/auth/session osint

    认证 Vault 云账号,返回 accessToken 及存储配额 / 已用量计数。

    认证方式: JSON 请求体中携带保险箱密码;返回的会话令牌在后续云端调用中复用。

    • command
    • userInfo
    • uid
    • userName
    • level
    • password
    • softwareInfo
    • version
    • os
    • partner
    • language
    • status
    • code
    • message
    • title
    • content
    • accessToken
    • quota
    • used
    • step
    • tag
    POST /v1/auth/session HTTP/1.1
    Content-Type: application/json
    
    {
      "command": "login",
      "userInfo": {
        "uid": "10086001",
        "userName": "vault_user",
        "level": "1"
      },
      "password": "<vault-password>",
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      }
    }
    {
      "status": {
        "code": 0,
        "message": {
          "title": "OK",
          "content": "login success"
        }
      },
      "userInfo": {
        "accessToken": "<access-token>",
        "quota": 1073741824,
        "used": 24883200,
        "step": 0,
        "tag": 1
      }
    }
  • 查询云存储配额

    POST /v1/account/storage opendata

    在备份或恢复前,读取当前保险箱的云存储配额与已用字节数。

    认证方式: 登录返回的 userInfo.accessToken,另加 uid、userName、level。

    • command
    • uid
    • userName
    • level
    • accessToken
    • version
    • os
    • partner
    • language
    • status
    • code
    • title
    • content
    • quota
    • used
    • step
    • tag
    POST /v1/account/storage HTTP/1.1
    Content-Type: application/json
    
    {
      "command": "quota",
      "userInfo": {
        "uid": "10086001",
        "userName": "vault_user",
        "level": "1",
        "accessToken": "<access-token>"
      },
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      }
    }
    {
      "status": {
        "code": 0,
        "message": {
          "title": "OK",
          "content": ""
        }
      },
      "userInfo": {
        "accessToken": "<access-token>",
        "quota": 1073741824,
        "used": 24883200,
        "step": 0,
        "tag": 1
      }
    }
  • 云端备份保险箱内容

    POST /v1/vault/backup osint

    把保险箱内的短信、通话记录、联系人、书签与隐藏文件元数据上传到云端。

    认证方式: 登录返回的 userInfo.accessToken。

    • command
    • uid
    • userName
    • level
    • accessToken
    • smsList
    • calllogList
    • contactList
    • bookmarksList
    • fileList
    • fileId
    • path
    • digest
    • size
    • currentPath
    • meta
    • contact_result
    • smsResult
    • calllogResult
    • bookmarkResult
    • fileResult
    • fileUrl
    • fileInfo
    • uploadSize
    POST /v1/vault/backup HTTP/1.1
    Content-Type: application/json
    
    {
      "command": "backup",
      "userInfo": {
        "uid": "10086001",
        "userName": "vault_user",
        "level": "1",
        "accessToken": "<access-token>"
      },
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      },
      "smsList": [],
      "calllogList": [],
      "contactList": [],
      "bookmarksList": [],
      "fileList": [
        {
          "fileId": "img-001",
          "path": "/vault/hidden/IMG_1001.jpg",
          "digest": "d41d8cd98f00b204e9800998ecf8427e",
          "size": 248832,
          "currentPath": "/vault/hidden/IMG_1001.jpg",
          "meta": "10002"
        }
      ]
    }
    {
      "status": {
        "code": 0,
        "message": {
          "title": "OK",
          "content": ""
        }
      },
      "userInfo": {
        "accessToken": "<access-token>"
      },
      "contact": { "result": 0 },
      "sms": { "result": 0 },
      "calllog": { "result": 0 },
      "bookmarks": { "result": 0 },
      "file": {
        "result": 0,
        "url": "/v1/vault/media",
        "fileInfo": [
          {
            "fileId": "img-001",
            "path": "/vault/hidden/IMG_1001.jpg",
            "digest": "d41d8cd98f00b204e9800998ecf8427e",
            "size": 248832,
            "currentPath": "/vault/hidden/IMG_1001.jpg",
            "uploadSize": 0
          }
        ]
      }
    }
  • 从云端恢复保险箱内容

    POST /v1/vault/restore osint

    询问云端需要恢复哪些保险箱分片(联系人、短信、通话记录、书签、文件)并拉回。

    认证方式: 登录返回的 userInfo.accessToken。

    • command
    • uid
    • userName
    • level
    • accessToken
    • contact
    • sms
    • calllog
    • bookmarks
    • file
    • fileList
    • fileId
    • path
    • digest
    • size
    • meta
    • fileUrl
    • fileInfo
    • mimeType
    • fileResult
    • calllogFileid
    • bookmarkFileid
    POST /v1/vault/restore HTTP/1.1
    Content-Type: application/json
    
    {
      "command": "restore",
      "userInfo": {
        "uid": "10086001",
        "userName": "vault_user",
        "level": "1",
        "accessToken": "<access-token>"
      },
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      },
      "contact": "true",
      "sms": "true",
      "calllog": "true",
      "bookmarks": "true",
      "file": "true",
      "fileList": [
        {
          "fileId": "img-001",
          "path": "/vault/hidden/IMG_1001.jpg",
          "digest": "d41d8cd98f00b204e9800998ecf8427e",
          "size": 248832
        }
      ]
    }
    {
      "status": {
        "code": 0,
        "message": {
          "title": "OK",
          "content": ""
        }
      },
      "userInfo": {
        "accessToken": "<access-token>"
      },
      "contact": { "result": 0, "fileId": "contact-001" },
      "sms": { "result": 0 },
      "calllog": { "result": 0, "fileId": "calllog-001" },
      "bookmarks": { "result": 0, "fileId": "bookmark-001" },
      "file": {
        "result": 0,
        "url": "/v1/vault/media",
        "fileInfo": [
          {
            "fileId": "img-001",
            "path": "/vault/hidden/IMG_1001.jpg",
            "digest": "d41d8cd98f00b204e9800998ecf8427e",
            "size": 248832,
            "mimeType": "image"
          }
        ]
      }
    }
  • 下载保险箱媒体

    GET /v1/vault/media opendata

    按 fileId 下载此前备份的保险箱照片或视频,支持可选的字节区间。

    认证方式: 登录返回的 accessToken 作为查询参数。

    • action
    • accessToken
    • fileId
    • range
    • saveFilePath
    • startPosition
    • endPosition
    GET /v1/vault/media?action=download&accessToken=<access-token>&fileId=img-001&range=bytes=0-248831 HTTP/1.1
    <binary octet-stream of the vault file; Range writes into saveFilePath from startPosition>
  • 绑定找回邮箱

    POST /v1/account/recovery-email osint

    把找回(安全)邮箱绑定到保险箱空间,用于在忘记锁屏密码时重置。

    认证方式: userInfo.uid 与 level;deviceId 标识保险箱空间。

    • deviceId
    • spaceId
    • email
    • uid
    • level
    • version
    • os
    • partner
    • language
    • result
    • userInfo
    • softwareInfo
    POST /v1/account/recovery-email HTTP/1.1
    Content-Type: application/json
    
    {
      "deviceId": "a1b2c3d4e5f6",
      "spaceId": "space-001",
      "email": "[email protected]",
      "userInfo": {
        "uid": "10086001",
        "level": "1"
      },
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      }
    }
    {
      "result": "ok",
      "spaceId": "space-001"
    }

数据类别

  • 云备份
  • 联系人
  • 短信
  • 通话记录
  • 照片
  • 账号找回

数据使用场景与案例

  • 换机迁移服务

    换机工具经由云端备份/恢复闭环搬运用户的通讯录、短信、通话记录与加密相册,摘要比对确保无一遗漏。

  • 备份配额管理

    渠道商看板盯每个账户的云存储配额与用量,在客户夜间备份悄悄失败之前提前告警或触发升级销售。

  • 账号找回流程

    客服工具为保险柜账号绑定找回邮箱,用户换机或忘记密码时显著减少锁账户工单。

常见问题

Vault 使用什么数据 API?

应用调用一套私有云 API:POST /v1/auth/session 登录并换取 accessToken,之后备份、恢复、媒体下载与账号管理都凭该令牌访问,数据以 JSON 交换。

云备份包含哪些数据?

POST /v1/vault/backup 上传保险箱内的短信、通话记录、联系人、书签与隐藏文件元数据;实际照片 / 视频文件经 GET /v1/vault/media 按 fileId 下载,支持字节区间请求。

忘记锁屏密码怎么办?

应用提供找回邮箱机制:POST /v1/account/recovery-email 把安全邮箱绑定到保险箱空间(deviceId + spaceId),之后可通过该邮箱重置锁屏密码。

该 API 如何认证?

登录后所有调用都带 accessToken,并以 deviceId / spaceId 区分设备与保险箱空间;这些是第一方私有端点,没有公开密钥。

与 Vault - Hide Pics, App Lock 相似的应用

  • Keepsafe Photo Vault — 运营多年的照片保险箱应用(约始于 2011 年),用 PIN、图案或指纹锁定照片,并提供加密云备份和入侵提醒。
  • LockMyPix Photo Vault — 逐文件使用 AES-256 加密的照片保险箱,并提供伪装保险箱登录和截屏拦截功能。
  • Calculator Vault - Gallery Lock — 伪装成可正常使用的计算器的图库锁,输入预设密码后才会打开隐藏空间。
  • AppLock by DoMobile — 用密码锁定整个应用乃至 Wi-Fi、蓝牙等系统开关,覆盖 Vault 的应用锁功能而非文件隐藏。
  • Vaulty — 仅支持安卓的简洁保险箱应用,提供 PIN 保护的本地存储、多个独立保险箱和入侵者自拍功能。
  • Private Photo Vault — 跨平台照片保险箱,支持伪装密码、按相册单独设 PIN 和入侵报告,自 2012 年上线至今。
  • 1Gallery — 把完整相册应用与加密保险箱结合在一起,隐藏照片的同时还内置照片和视频编辑器。

相关主题

  • Vault Hide Pics API
  • 保险箱云备份端点
  • accessToken 同步
  • smsList contactList fileList
  • 保险箱照片下载接口
  • 找回邮箱 deviceId spaceId

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价