データ構造

Hexbonはデータを暗号化するだけでなく、構造化も行います。必要なJSON形式について学び、データを検証して、完全なインタラクティブ体験をアンロックしましょう。

データ構造が重要な理由

Hexbonは単なる暗号化ツールではありません。それは構造化されたデータストレージシステムです。データは階層形式で整理されており、ドラッグ&ドロップによる並べ替え、インタラクティブなカード、展開可能なレコード、整理されたセクションなどの強力な機能を可能にします。

構造 vs 暗号化

正しい暗号化キーを提供すれば、いつでもデータを復号できます。ただし、データが構造ガイドラインに従っていない場合、生モード (raw mode) で表示されます。データ自体は見ることができますが、カード、レコード、セクション、ドラッグ&ドロップなどのインタラクティブなUI機能は利用できません。

このドキュメントでは、Hexbonが期待する正確なJSON構造の概要を説明します。この構造に従うことで、データがダッシュボードのインタラクティブ機能と完全に互換性を持つようになります。

構造の概要

Hexbonのデータは厳格な階層に従います。この階層を理解することが、データを正しく整理するための鍵となります。

データ階層

{ "cards": [...] }
{
  "title": "Personal",
  "records": [...],
  "updated_at": 1763938832
}
{
  "title": "Gmail",
  "data": [...]
}
{
  "name": "Login",
  "values": [...]
}
{
  "value": "secret123",
  "type": "secret"
}
プロパティ 必須 適用対象
cards はい ルートオブジェクト
title はい カード, レコード
records はい カード
data はい レコード (セクションの配列)
name はい セクション
values はい セクション
value はい
type はい 値 (secret, note, totp, link, email)
id いいえ 値 (ソート用)
updated_at いいえ カード (タイムスタンプ)

カード

カードはダッシュボードの最上位コンテナです。各カードはクリック可能なボックスとして表示され、展開してレコードを表示できます。カードはドラッグ&ドロップで並べ替えることができます。

カードスキーマ
{
  "title": "string",           // Required: Card name displayed on tile
  "records": [],              // Required: Array of Record objects
  "updated_at": 1763938832    // Optional: Unix timestamp of last update
}
プロパティ タイプ 必須 説明
title string はい カードボックスに表示される名前
records array はい レコードオブジェクトの配列(空でも可)
updated_at integer いいえ 「最終更新」を表示するためのUnixタイムスタンプ
カードの例
{
  "title": "Work Credentials",
  "records": [
    // Record objects go here...
  ],
  "updated_at": 1763938832
}

レコード

レコードはカード内のエントリです。カードを開くと左側のサイドバーに表示され、選択してセクションを表示できます。レコードは個々のアイテムやエントリ(例:「Gmailアカウント」、「社内VPN」、「データベース認証情報」)と考えてください。

レコードスキーマ
{
  "title": "string",     // Required: Record name displayed in sidebar
  "data": []               // Required: Array of Section objects
}
プロパティ タイプ 必須 説明
title string はい レコードリストに表示される名前
data array はい セクションオブジェクトの配列(空でも可)

注意: data プロパティには「セクション」が含まれます。生データではありません。この命名は歴史的な理由によるものです。data 配列の各アイテムはセクションオブジェクトです。

レコードの例
{
  "title": "Gmail Account",
  "data": [
    {
      "name": "Login Details",
      "values": [
        // Value objects go here...
      ]
    }
  ]
}

セクション

セクションはレコード内の関連する値をグループ化します。これらは、さまざまな種類の情報(例:「ログイン詳細」、「リカバリ・オプション」、「APIキー」)を分類するのに役立つ組織レベルを提供します。各セクションには名前があり、複数の値が含まれます。

セクションスキーマ
{
  "name": "string",     // Required: Section heading/label
  "values": []             // Required: Array of Value objects
}
プロパティ タイプ 必須 説明
name string はい 値の上に表示されるセクションタイトル
values array はい データを含む値オブジェクトの配列
セクションの例
{
  "name": "Login Details",
  "values": [
    {
      "value": "user@example.com",
      "type": "note",
      "id": "value_1763938238781_3jh5i3r20"
    },
    {
      "value": "supersecretpassword123",
      "type": "secret",
      "id": "value_1763938251026_fvjeq1vg9"
    }
  ]
}

値は実際のデータエントリ(保存するパスワード、メモ、TOTPコード)です。各値には、UIでの表示方法と操作方法を決定するタイプがあります。

値スキーマ
{
  "value": "string",   // Required: The actual content
  "type": "secret" | "note" | "totp" | "link" | "email" | "username",  // Required
  "id": "string"      // Optional: Unique identifier for sorting
}
プロパティ タイプ 必須 説明
value string はい 実際のコンテンツ(パスワード、メモテキスト、TOTPシークレット)
type string はい "secret"、"note"、"totp"、"link"、"email"、"username" のいずれか
id string いいえ ソートと参照に使用される一意のID

値のタイプ

タイプ 表示 ユースケース
"secret" デフォルトで非表示(•••••)、クリックで表示 パスワード、APIキー、機密データ
"note" 常に表示されるプレーンテキスト ユーザー名、メール、URL、非機密情報
"totp" リアルタイムで6桁のコードを生成 2FAシークレット(Base32エンコード)
"link" クリック可能なハイパーリンク URL、ウェブサイトのアドレス
"email" mailtoリンク付きのメールアドレス メールアドレス
"username" ユーザーアイコン付きで常に表示されるプレーンテキスト ユーザー名、アカウントID
値の例
// Secret value (hidden by default)
{
  "value": "MySecurePassword123!",
  "type": "secret",
  "id": "value_1763938251026_fvjeq1vg9"
}

// Note value (always visible)
{
  "value": "user@example.com",
  "type": "note",
  "id": "value_1763938238781_3jh5i3r20"
}

// TOTP value (generates 2FA codes)
{
  "value": "JBSWY3DPEHPK3PXP",
  "type": "totp",
  "id": "value_1763938267595_kaecs9y31"
}

// Username value (visible text with user icon)
{
  "value": "john_doe_123",
  "type": "username",
  "id": "value_1763938289412_xm2kp7v91"
}

完全な例

以下は、複数のカード、レコード、セクション、およびさまざまな値のタイプを含む階層全体を示す、完全で有効なデータ構造です。

完全な有効構造
{
  "cards": [
    {
      "title": "Personal Accounts",
      "records": [
        {
          "title": "Gmail",
          "data": [
            {
              "name": "Login Details",
              "values": [
                {
                  "value": "myemail@gmail.com",
                  "type": "note"
                },
                {
                  "value": "SuperSecretPassword123",
                  "type": "secret"
                }
              ]
            },
            {
              "name": "2FA",
              "values": [
                {
                  "value": "JBSWY3DPEHPK3PXP",
                  "type": "totp"
                }
              ]
            }
          ]
        },
        {
          "title": "GitHub",
          "data": [
            {
              "name": "Account",
              "values": [
                {
                  "value": "myusername",
                  "type": "note"
                },
                {
                  "value": "gh_token_abc123xyz",
                  "type": "secret"
                }
              ]
            }
          ]
        }
      ],
      "updated_at": 1763938832
    },
    {
      "title": "Work",
      "records": [
        {
          "title": "VPN Access",
          "data": [
            {
              "name": "Credentials",
              "values": [
                {
                  "value": "vpn.company.com",
                  "type": "note"
                },
                {
                  "value": "john.doe",
                  "type": "note"
                },
                {
                  "value": "VpnP@ssw0rd!",
                  "type": "secret"
                }
              ]
            }
          ]
        }
      ],
      "updated_at": 1763856530
    }
  ]
}

生モード (Raw Mode)

復号されたデータが期待される構造に従っていない場合、Hexbonはそれを表示しますが、生モードになります。これは、構造化データが提供するインタラクティブな機能なしで、データを単純なJSONとして表示することを意味します。

機能 構造化モード 生モード
インタラクティブなカードボックス
ドラッグ&ドロップによる並べ替え
表示切り替え付きのシークレットマスキング
リアルタイムTOTPコード生成
インプレース編集と自動保存
クリップボードへのコピーボタン

データは常に安全です

生モードは表示にのみ影響し、セキュリティには影響しません。データは構造に関係なく、常にAES-256-GCMで暗号化されています。構造が一致しない場合、インタラクティブなUI機能が利用できないだけです。

データ構造を検証する

インタラクティブな検証ツールを使用して、データ構造をリアルタイムで確認してください。

検証ツールを試す

Cookieはほとんど使用していません

ウェブサイトのセキュリティを強化し、ユーザーエクスペリエンスを向上させる必要最小限のCookieのみを使用しています。お客様の行動やアクティビティを追跡することはありません。