- Начало
- Структура на данните
Структура на данните
Hexbon не само криптира вашите данни - той ги структурира. Научете необходимия JSON формат и валидирайте данните си, за да отключите пълното интерактивно изживяване.
Глави
Защо структурата на данните е важна
Hexbon е нещо повече от инструмент за криптиране; той е структурирана система за съхранение на данни. Вашите данни са организирани в йерархичен формат, който позволява мощни функции като пренареждане чрез плъзгане и пускане (drag-and-drop), интерактивни карти, разширяеми записи и организирани секции.
Структура срещу Криптиране
Винаги можем да декриптираме вашите данни, ако предоставите правилния ключ за криптиране. Въпреки това, ако данните ви не следват нашите насоки за структура, ще ги покажем в суров режим (raw mode) - ще виждате данните, но без интерактивните функции на интерфейса като карти, записи, секции, плъзгане и пускане и т.н.
Тази документация обяснява точната JSON структура, очаквана от Hexbon. Спазването на тази структура гарантира, че вашите данни са напълно съвместими с интерактивните функции на нашето табло.
Преглед на структурата
Данните в 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 кодовете, които съхранявате. Всяка стойност има тип, който определя как се показва и как взаимодействате с нея в интерфейса.
{
"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 | Не | Уникален идентификатор, използван за сортиране и препратка |
Типове стойности
| Тип | Показване | Случай на употреба |
|---|---|---|
| "secret" | Скрито по подразбиране (•••••), кликнете за разкриване | Пароли, API ключове, чувствителни данни |
| "note" | Обикновен текст, винаги видим | Потребителски имена, имейли, URL адреси, нечувствителна информация |
| "totp" | Генерира 6-цифрени кодове в реално време | 2FA тайни (Base32 кодирани) |
| "link" | Кликаема хипервръзка | URL адреси, адреси на уебсайтове |
| "email" | Имейл адрес с mailto връзка | Имейл адреси |
| "username" | Обикновен текст, винаги видим с икона на потребител | Потребителски имена, идентификатори на акаунти |
// 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 криптиране, независимо от структурата. Просто няма да получите интерактивните функции на интерфейса, ако структурата не съвпада.
Валидирайте вашата структура на данните
Използвайте нашия интерактивен инструмент за валидиране, за да проверите структурата на данните си в реално време.
Изпробвайте инструмента за валидиране