{"id":30758082,"url":"https://github.com/apache/teaclave-trustzone-sdk","last_synced_at":"2025-09-04T11:05:02.287Z","repository":{"id":38196404,"uuid":"167625003","full_name":"apache/teaclave-trustzone-sdk","owner":"apache","description":"Teaclave TrustZone SDK enables safe, functional, and ergonomic development of trustlets.","archived":false,"fork":false,"pushed_at":"2025-08-29T11:33:38.000Z","size":1628,"stargazers_count":246,"open_issues_count":11,"forks_count":68,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-09-04T00:47:23.329Z","etag":null,"topics":["confidential-computing","rust","secure-computing","tee","trusted-execution-environment","trustzone"],"latest_commit_sha":null,"homepage":"https://teaclave.apache.org","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-01-25T22:56:42.000Z","updated_at":"2025-09-02T18:35:31.000Z","dependencies_parsed_at":"2024-01-23T17:29:53.627Z","dependency_job_id":"5e45a95f-7fd0-4289-b437-3e263da6775a","html_url":"https://github.com/apache/teaclave-trustzone-sdk","commit_stats":{"total_commits":445,"total_committers":22,"mean_commits":"20.227272727272727","dds":0.5865168539325842,"last_synced_commit":"3177d4fa06f77afb351d0a19b8aa51b4a50fa1c8"},"previous_names":["mesalock-linux/rust-optee-trustzone-sdk","sccommunity/rust-optee-trustzone-sdk","apache/teaclave-trustzone-sdk"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/apache/teaclave-trustzone-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fteaclave-trustzone-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fteaclave-trustzone-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fteaclave-trustzone-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fteaclave-trustzone-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/teaclave-trustzone-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fteaclave-trustzone-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273596972,"owners_count":25134262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["confidential-computing","rust","secure-computing","tee","trusted-execution-environment","trustzone"],"created_at":"2025-09-04T11:02:08.113Z","updated_at":"2025-09-04T11:05:02.274Z","avatar_url":"https://github.com/apache.png","language":"Rust","funding_links":[],"categories":["SDK"],"sub_categories":[],"readme":"# Apache Teaclave™ TrustZone SDK\n\n[![License](https://img.shields.io/badge/license-Apache-green.svg)](LICENSE)\n[![Release](https://img.shields.io/github/v/tag/apache/teaclave-trustzone-sdk?label=release\u0026sort=semver)](https://github.com/apache/teaclave-trustzone-sdk/releases)\n[![Homepage](https://img.shields.io/badge/site-homepage-blue)](https://teaclave.apache.org/)\n\nApache Teaclave™ TrustZone SDK (Rust OP-TEE TrustZone SDK) provides abilities to build\nsafe TrustZone applications in Rust. The SDK is based on the\n[OP-TEE](https://www.op-tee.org/) project which follows\n[GlobalPlatform](https://globalplatform.org/) [TEE\nspecifications](https://globalplatform.org/specs-library/tee-internal-core-api-specification/)\nand provides ergonomic APIs. In addition, it enables the capability to write\nTrustZone applications with Rust's standard library (std) and many third-party\nlibraries (i.e., crates). \n\nApache Teaclave™ TrustZone SDK provides two development modes for Rust TAs: `no-std`\nand `std`.  We recommend using `no-std` by default. For a detailed comparison, please refer\nto [Comparison](docs/ta-development-modes.md).\n\n**UPDATES:** We have developed a new build environment on the `main` branch, \nwhich will now be the only branch for development and maintenance and includes \nbreaking changes to the legacy `master` branch.\nIf you're using the `master` branch and wish to migrate to the new development \nbranch (`main`), please refer to the \n[migration guide](docs/migrating-to-new-building-env.md).\n\n## 🚀 Quick \u0026 Easy Start: Hello World TA in Emulator\n\nDeveloping Trusted Applications (TAs) often requires specific hardware, which \ncan be a barrier for many developers. To address this, we provide a prebuilt \nDocker environment that allows you to experience TAs without the need for \nphysical hardware.\n\nThe Docker image automates the entire setup process for TrustZone emulation \nin QEMU, enabling you to focus on writing and testing your applications \nefficiently, without the hassle of manual configuration.\n\n**Choose your development mode in Emulator:**\n- 🚀 [Quick Emulation And Development in Docker](docs/emulate-and-dev-in-docker.md) \n- 🚀 [Developing TAs with Rust Standard Library](docs/emulate-and-dev-in-docker-std.md)\n\n## Advanced Setup: Customize Your Build Environment\n\nIn addition to developing and testing Trusted Applications (TAs) in the QEMU \nemulator, setting up build configurations for specific hardware targets are \nalso necessary.  For detailed instructions on customizing your build environment, \nplease refer to the [Advanced Setup Documentation](docs/advanced-setup.md).\n\nFor other tips regarding the support Rust Examples, TA debugging, expanding \nsecure memory, please refer to the [docs/ directory](docs/README.md).\n\n## Publication\n\nMore details about the design and implementation can be found in our paper\npublished in ACSAC 2020:\n[RusTEE: Developing Memory-Safe ARM TrustZone\nApplications](https://csis.gmu.edu/ksun/publications/ACSAC20_RusTEE_2020.pdf).\nHere is the BiBTeX record for your reference.\n\n```bibtex\n@inproceedings{wan20rustee,\n    author    = \"Shengye Wan and Mingshen Sun and Kun Sun and Ning Zhang and Xu\nHe\",\n    title     = \"{RusTEE: Developing Memory-Safe ARM TrustZone Applications}\",\n    booktitle = \"Proceedings of the 36th Annual Computer Security Applications\nConference\",\n    series    = \"ACSAC '20\",\n    year      = \"2020\",\n    month     = \"12\",\n}\n```\n\n## Contributing\n\nApache Teaclave™ is open source in [The Apache\nWay](https://www.apache.org/theapacheway/),\nwe aim to create a project that is maintained and owned by the community. All\nkinds of contributions are welcome.\nThanks to our [contributors](https://teaclave.apache.org/contributors/).\n\nApache Teaclave™ follows the Apache Software Foundation (ASF) model, which does not \nrequire `Signed-off-by` or other commit trailers. While such tags \n(e.g., DCO-style trailers like `Signed-off-by`, `Reviewed-by`) are welcome, \nthey are optional and not enforced. Pull requests with or without them are \nequally welcome.\n\nHowever, DCO-style tags cannot substitute for the Contributor License \nAgreement (CLA). Major contributions and all committers must have a signed \nCLA on file, as [required by the ASF](https://www.apache.org/licenses/contributor-agreements.html#clas).\n\n\n## Community\n\n- Join us on our [mailing\n  list](https://lists.apache.org/list.html?dev@teaclave.apache.org).\n- Follow us at [@ApacheTeaclave](https://twitter.com/ApacheTeaclave).\n- See [more](https://teaclave.apache.org/community/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fteaclave-trustzone-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fteaclave-trustzone-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fteaclave-trustzone-sdk/lists"}