This product (chat-xdk) includes or links third-party software. This file lists
those components and their licenses so redistributors can meet attribution and
notice requirements.
Project license: MIT — see LICENSE (Copyright (c) 2026 X Corp.).
Generated from: Cargo.lock / cargo tree -p chat-xdk-core as of 2026-07-20.
Re-run a dependency inventory (or regenerate this file) when the lockfile changes
materially, especially around crypto, Thrift, or Juicebox.
Where a dependency is dual- or multi-licensed, this project uses it as follows unless a more specific note below says otherwise:
| Upstream expression | Election used by chat-xdk |
|---|---|
MIT OR Apache-2.0 (either order, including MIT/Apache-2.0) |
MIT |
| BSD-2-Clause OR Apache-2.0 OR MIT | MIT |
| Unlicense OR MIT | MIT |
| Apache-2.0 OR ISC OR MIT | MIT |
| Apache-2.0 OR BSL-1.0 | Apache-2.0 |
| JNA (LGPL-2.1-or-later OR Apache-2.0) | Apache-2.0 (JVM binding only) |
This file is provided for attribution. It does not modify the licenses of the third-party components.
These components have notice or copyright terms beyond a plain MIT SPDX tag.
Always linked into the core library (wire protocol).
Apache Thrift
Copyright (C) 2006 - 2019, The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Full license text: https://www.apache.org/licenses/LICENSE-2.0
Always linked into the core library (constant-time crypto helpers).
Copyright (c) 2016-2017 Isis Agora Lovecruft, Henry de Valence. All rights reserved.
Copyright (c) 2016-2024 Isis Agora Lovecruft. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Optional feature juicebox (default for native builds). Copyright and MIT terms
from upstream:
Copyright 2023 Juicebox Systems, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Source: https://github.com/juicebox-systems/juicebox-sdk
Pulled in via Juicebox networking (reqwest → rustls → ring). Upstream ships
multiple license texts (LICENSE, LICENSE-BoringSSL, LICENSE-other-bits).
When redistributing a binary built with the Juicebox feature, include those
upstream license texts (available from the ring crate sources on crates.io /
https://github.com/briansmith/ring).
Mozilla CA root bundle used by reqwest when Juicebox is enabled.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
ICU4X crates (icu_*, etc.) used for IDNA/URL processing under the Juicebox
feature, and unicode-ident (build/proc-macro path), include Unicode data
under the Unicode License v3:
UNICODE LICENSE V3
COPYRIGHT AND PERMISSION NOTICE
Copyright © 1991-2023 Unicode, Inc.
NOTICE TO USER: Carefully read the following legal agreement. BY
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
Permission is hereby granted, free of charge, to any person obtaining a
copy of data files and any associated documentation (the "Data Files") or
software and any associated documentation (the "Software") to deal in the
Data Files or Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, and/or sell
copies of the Data Files or Software, and to permit persons to whom the
Data Files or Software are furnished to do so, provided that either (a)
this copyright and permission notice appear with all copies of the Data
Files or Software, or (b) this copyright and permission notice appear in
associated Documentation.
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
FILES OR SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall
not be used in advertising or otherwise to promote the sale, use or other
dealings in these Data Files or Software without prior written
authorization of the copyright holder.
Encoding detection/conversion via reqwest. Dual-licensed Apache-2.0/MIT for
code; includes WHATWG encoding data under BSD-3-Clause. Copyright Mozilla
Foundation. See the encoding_rs crate for full LICENSE-* / COPYRIGHT files.
These are direct dependencies of the published Java artifact (com.x:chatxdk),
in addition to the native Rust library.
| Component | Version | License | Notes |
|---|---|---|---|
| Java Native Access (JNA) | 5.14.0 | LGPL-2.1-or-later OR Apache-2.0 | Used under Apache-2.0 |
| jackson-databind | 2.17.2 | Apache-2.0 | Transitive Jackson modules same family |
JNA: https://github.com/java-native-access/jna
Jackson: https://github.com/FasterXML/jackson-databind
Lists below are runtime dependencies of chat-xdk-core (cargo tree --edges normal).
Build-only tools (e.g. csbindgen) and test-only crates are omitted.
Versions are from the repository Cargo.lock at generation time.
thrift@0.24.0
subtle@2.6.1
unicode-ident@1.0.24
generic-array@0.14.7integer-encoding@3.0.4ordered-float@3.9.2zmij@1.0.21
aead@0.5.2aes-gcm@0.10.3aes@0.8.4base16ct@0.2.0base64@0.22.1base64ct@1.8.3block-buffer@0.10.4block-padding@0.3.3cfg-if@1.0.4chacha20@0.9.1cipher@0.4.4const-oid@0.9.6cpufeatures@0.2.17crypto-bigint@0.5.5crypto-common@0.1.7crypto_secretstream@0.2.0ctr@0.9.2der@0.7.10digest@0.10.7ecdsa@0.16.9elliptic-curve@0.13.8ff@0.13.1getrandom@0.2.17ghash@0.5.1group@0.13.0hex@0.4.3hkdf@0.12.4hmac@0.12.1inout@0.1.4itoa@1.0.17libc@0.2.183log@0.4.29num-traits@0.2.19num_cpus@1.17.0opaque-debug@0.3.1p256@0.13.2pem-rfc7468@0.7.0pkcs8@0.10.2poly1305@0.8.0polyval@0.6.2ppv-lite86@0.2.21primeorder@0.13.6proc-macro2@1.0.106quote@1.0.45rand@0.8.5rand_chacha@0.3.1rand_core@0.6.4rfc6979@0.4.0salsa20@0.10.2sec1@0.7.3serde@1.0.228serde_core@1.0.228serde_derive@1.0.228serde_json@1.0.149sha2@0.10.9signature@2.2.0spki@0.7.3syn@2.0.117thiserror-impl@1.0.69thiserror@1.0.69threadpool@1.8.1typenum@1.19.0universal-hash@0.5.1uuid@1.22.0xsalsa20poly1305@0.9.1zeroize@1.8.2zeroize_derive@1.4.3
zerocopy@0.8.42
byteorder@1.5.0memchr@2.8.0
ciborium-io@0.2.2ciborium-ll@0.2.2ciborium@0.2.1sync_wrapper@0.1.2
curve25519-dalek@4.1.3ed25519-dalek@2.2.0instant@0.1.12x25519-dalek@2.0.1
coarsetime@0.1.37
hmac-sha1-compact@1.1.7hmac-sha256@1.1.14hmac-sha512@1.1.12jwt-simple@0.11.7rustls-webpki@0.101.7untrusted@0.9.0
webpki-roots@0.25.4
ring@0.17.14
icu_collections@2.1.1icu_locale_core@2.1.1icu_normalizer@2.1.1icu_normalizer_data@2.1.1icu_properties@2.1.2icu_properties_data@2.1.2icu_provider@2.1.1litemap@0.8.1potential_utf@0.1.4tinystr@0.8.2writeable@0.6.2yoke-derive@0.8.1yoke@0.8.1zerofrom-derive@0.1.6zerofrom@0.1.6zerotrie@0.2.3zerovec-derive@0.11.2zerovec@0.11.5
encoding_rs@0.8.35
binstring@0.1.7bytes@1.11.1ct-codecs@1.1.6ed25519-compact@2.2.0h2@0.3.27http-body@0.4.6hyper@0.14.32juicebox_marshalling@0.3.4juicebox_networking@0.3.4juicebox_noise@0.3.4juicebox_oprf@0.3.4juicebox_realm_api@0.3.4juicebox_realm_auth@0.3.4juicebox_sdk@0.3.4juicebox_secret_sharing@0.3.4libm@0.2.16mio@1.1.1slab@0.4.12spin@0.9.8synstructure@0.13.2tokio-util@0.7.18tokio@1.50.0tower-service@0.3.3tracing-attributes@0.1.31tracing-core@0.1.36tracing@0.1.44try-lock@0.2.5want@0.3.1
anyhow@1.0.102argon2@0.5.3async-trait@0.1.89base64@0.21.7bitflags@1.3.2blake2@0.10.6chacha20poly1305@0.10.1core-foundation-sys@0.8.7core-foundation@0.9.4der@0.6.1displaydoc@0.2.5ed25519@2.2.3equivalent@1.0.2fnv@1.0.7form_urlencoded@1.2.2futures-channel@0.3.32futures-core@0.3.32futures-executor@0.3.32futures-io@0.3.32futures-macro@0.3.32futures-sink@0.3.32futures-task@0.3.32futures-util@0.3.32futures@0.3.32getrandom@0.3.4half@2.7.1hashbrown@0.16.1http@0.2.12httparse@1.10.1httpdate@1.0.3idna@1.1.0idna_adapter@1.2.1indexmap@2.13.0ipnet@2.12.0k256@0.13.4lazy_static@1.5.0mime@0.3.17num-bigint-dig@0.8.6num-integer@0.1.46num-iter@0.1.45once_cell@1.21.4p384@0.13.1password-hash@0.5.0pem-rfc7468@0.6.0percent-encoding@2.3.2pin-project-lite@0.2.17pkcs1@0.4.1pkcs8@0.9.0regex-automata@0.4.14regex-syntax@0.8.10regex@1.12.3reqwest@0.11.27rsa@0.7.2serde_urlencoded@0.7.1signature@1.6.4smallvec@1.15.1socket2@0.5.10socket2@0.6.3spki@0.6.0stable_deref_trait@1.2.1system-configuration-sys@0.5.0system-configuration@0.5.1tokio-rustls@0.24.1url@2.5.8utf8_iter@1.0.4
zerocopy-derive@0.8.42
aho-corasick@1.1.4
hyper-rustls@0.24.2rustls-pemfile@1.0.4rustls@0.21.12sct@0.7.1
ryu@1.0.23
| Binding | Extra third-party notes |
|---|---|
Python (chatxdk wheel) |
Embeds the Rust core (+ Juicebox when built with default features). No pure-Python runtime deps. |
JavaScript/WASM (@xdevplatform/chat-xdk) |
Embeds the Rust core without Juicebox. Optional peer juicebox-sdk is separate software. |
Go (go/chatxdk) |
Prebuilt static libraries embed the Rust core (+ Juicebox). No Go module dependencies. |
.NET (XDevPlatform.ChatXdk) |
Native cdylib embeds the Rust core (+ Juicebox). No NuGet runtime package dependencies. |
- After dependency bumps that change licenses or add non-MIT/Apache crates, update the inventory sections.
- Keep the Special notices section accurate for thrift, subtle, Juicebox, ring, webpki-roots, and Unicode.
- CI runs
cargo deny check licensesagainstdeny.tomlto block disallowed licenses. - Published packages should include this file next to
LICENSE(npm, wheels, NuGet, Maven resources, Go module tree).