- Beranda
- Struktur Data
Struktur Data
Hexbon tidak hanya mengenkripsi data Anda - ia juga menyusunnya. Pelajari format JSON yang diperlukan dan validasi data Anda untuk membuka pengalaman interaktif penuh.
Bab
Mengapa Struktur Data Penting
Hexbon lebih dari sekadar alat enkripsi; ini adalah sistem penyimpanan data terstruktur. Data Anda diatur dalam format hierarkis yang memungkinkan fitur-fitur canggih seperti penyusunan ulang seret-dan-lepas, kartu interaktif, catatan yang dapat diperluas, dan bagian yang terorganisir.
Struktur vs Enkripsi
Kami selalu dapat mendekripsi data Anda jika Anda memberikan kunci enkripsi yang benar. Namun, jika data Anda tidak mengikuti panduan struktur kami, kami akan menampilkannya dalam mode mentah (raw mode) - Anda akan melihat datanya, tetapi tanpa fitur UI interaktif seperti kartu, catatan, bagian, seret-dan-lepas, dll.
Dokumentasi ini menguraikan struktur JSON tepat yang diharapkan oleh Hexbon. Mengikuti struktur ini memastikan data Anda sepenuhnya kompatibel dengan fitur interaktif dasbor kami.
Ikhtisar Struktur
Data Hexbon mengikuti hierarki yang ketat. Memahami hierarki ini adalah kunci untuk mengatur data Anda dengan benar.
Hierarki Data
{ "cards": [...] }
{
"title": "Personal",
"records": [...],
"updated_at": 1763938832
}
{
"title": "Gmail",
"data": [...]
}
{
"name": "Login",
"values": [...]
}
{
"value": "secret123",
"type": "secret"
}
| Properti | Wajib | Berlaku Untuk |
|---|---|---|
| cards | Ya | Objek Akar |
| title | Ya | Kartu, Catatan |
| records | Ya | Kartu |
| data | Ya | Catatan (array bagian) |
| name | Ya | Bagian |
| values | Ya | Bagian |
| value | Ya | Nilai |
| type | Ya | Nilai (secret, note, totp, link, email) |
| id | Tidak | Nilai (untuk pengurutan) |
| updated_at | Tidak | Kartu (timestamp) |
Kartu
Kartu adalah kontainer tingkat atas di dasbor Anda. Setiap kartu muncul sebagai kotak yang dapat diklik yang dapat diperluas untuk menampilkan catatannya. Kartu dapat disusun ulang melalui seret-dan-lepas.
{
"title": "string", // Required: Card name displayed on tile
"records": [], // Required: Array of Record objects
"updated_at": 1763938832 // Optional: Unix timestamp of last update
}
| Properti | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| title | string | Ya | Nama yang ditampilkan pada kotak kartu |
| records | array | Ya | Array objek catatan (bisa kosong) |
| updated_at | integer | Tidak | Timestamp Unix untuk menunjukkan "terakhir diperbarui" |
{
"title": "Work Credentials",
"records": [
// Record objects go here...
],
"updated_at": 1763938832
}
Catatan
Catatan adalah entri di dalam kartu. Mereka muncul di bilah sisi kiri saat kartu dibuka dan dapat dipilih untuk melihat bagian-bagiannya. Anggap catatan sebagai item atau entri individual (misalnya "Akun Gmail", "VPN Perusahaan", "Kredensial Database").
{
"title": "string", // Required: Record name displayed in sidebar
"data": [] // Required: Array of Section objects
}
| Properti | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| title | string | Ya | Nama yang ditampilkan dalam daftar catatan |
| data | array | Ya | Array objek bagian (bisa kosong) |
Catatan:
Properti data berisi "bagian", bukan data mentah. Penamaan ini karena alasan historis. Setiap item dalam array data adalah objek bagian.
{
"title": "Gmail Account",
"data": [
{
"name": "Login Details",
"values": [
// Value objects go here...
]
}
]
}
Bagian
Bagian mengelompokkan nilai-nilai terkait di dalam catatan. Mereka memberikan tingkat organisasi yang membantu mengategorikan berbagai jenis informasi (misalnya "Detail Login", "Opsi Pemulihan", "Kunci API"). Setiap bagian memiliki nama dan berisi beberapa nilai.
{
"name": "string", // Required: Section heading/label
"values": [] // Required: Array of Value objects
}
| Properti | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| name | string | Ya | Judul bagian yang ditampilkan di atas nilai |
| values | array | Ya | Array objek nilai yang berisi data Anda |
{
"name": "Login Details",
"values": [
{
"value": "user@example.com",
"type": "note",
"id": "value_1763938238781_3jh5i3r20"
},
{
"value": "supersecretpassword123",
"type": "secret",
"id": "value_1763938251026_fvjeq1vg9"
}
]
}
Nilai
Nilai adalah entri data aktual - kata sandi, catatan, dan kode TOTP yang Anda simpan. Setiap nilai memiliki tipe yang menentukan bagaimana ia ditampilkan dan bagaimana ia berinteraksi di UI.
{
"value": "string", // Required: The actual content
"type": "secret" | "note" | "totp" | "link" | "email" | "username", // Required
"id": "string" // Optional: Unique identifier for sorting
}
| Properti | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| value | string | Ya | Konten aktual (kata sandi, teks catatan, rahasia TOTP) |
| type | string | Ya | Salah satu dari: "secret", "note", "totp", "link", "email", atau "username" |
| id | string | Tidak | ID unik yang digunakan untuk pengurutan dan referensi |
Tipe Nilai
| Tipe | Tampilan | Kasus Penggunaan |
|---|---|---|
| "secret" | Tersembunyi secara default (•••••), klik untuk menampilkan | Kata sandi, kunci API, data sensitif |
| "note" | Teks biasa selalu terlihat | Nama pengguna, email, URL, informasi tidak sensitif |
| "totp" | Menghasilkan kode 6 digit secara real-time | Rahasia 2FA (Base32 encoded) |
| "link" | Hyperlink yang dapat diklik | URL, alamat situs web |
| "email" | Alamat email dengan tautan mailto | Alamat email |
| "username" | Teks biasa selalu terlihat dengan ikon pengguna | Nama pengguna, ID akun |
// 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"
}
Contoh Lengkap
Berikut adalah struktur data lengkap dan valid yang menunjukkan seluruh hierarki dengan beberapa kartu, catatan, bagian, dan berbagai tipe nilai.
{
"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
}
]
}
Mode Mentah (Raw Mode)
Jika data Anda yang didekripsi tidak mengikuti struktur yang diharapkan, Hexbon akan tetap menampilkannya, tetapi dalam mode mentah. Ini berarti Anda akan melihat data Anda sebagai JSON sederhana tanpa fitur interaktif yang disediakan oleh data terstruktur.
| Fitur | Mode Terstruktur | Mode Mentah |
|---|---|---|
| Kotak kartu interaktif | ||
| Penyusunan ulang seret-dan-lepas | ||
| Penyamaran rahasia dengan sakelar tampilkan | ||
| Pembuatan kode TOTP real-time | ||
| Pengeditan di tempat dan simpan otomatis | ||
| Tombol salin ke papan klip |
Data Anda Selalu Aman
Mode mentah hanya memengaruhi presentasi, bukan keamanan. Data Anda selalu terenkripsi AES-256-GCM terlepas dari strukturnya. Anda hanya tidak akan mendapatkan fitur UI interaktif jika strukturnya tidak cocok.
Validasi Struktur Data Anda
Gunakan alat validasi interaktif kami untuk memeriksa struktur data Anda secara real-time.
Coba Alat Validasi