MCPcopy Index your code
hub / github.com/enclaver-io/enclaver

github.com/enclaver-io/enclaver @v0.6.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.6.1 ↗ · + Follow
389 symbols 779 edges 40 files 34 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Enclaver is an open source toolkit created to enable easy adoption of software enclaves, for new and existing backend software.

Enclaves provide several critical features for operating software which processes sensitive data, including:

  • Isolation: Enclaves enable a deny-by-default approach to accessing process memory. Software running in an enclave can expose interfaces for accessing specific data, while disallowing humans or other software on the same computer from reading arbitrary data from memory.
  • Attestation: Enclaves make it possible to determine the exact identity and configuration of software running in an enclave.
  • Network Restrictions: External communication is limited and controlled. The network policy is built into the image and therefore the software attestation.

These demos show off how your apps can use these unique features to improve privacy and security:

Project State

Enclaver is currently in beta and should be used cautiously in production. Enclaver currently only supports AWS Nitro Enclaves; support for Azure Confidential VMs, GCP Confidential VMs, and arbitrary SGX and OP-TEE enclaves is on the roadmap.

Architecture

Read the architecture doc for the full details. Enclaver consists of 3 interrelated pieces of software:

  • enclaver CLI for build and run
  • “Outer Proxy” + Enclave Supervisor
  • “Inner Proxy” + Process Supervisor

FAQ

See the FAQ for common questions and a comparison of Enclaver to similar technologies.

Reporting Security Bugs

Report security bugs confidentially at security@enclaver.io

Extension points exported contracts — how you extend this code

NitroCLIArgs (Interface)
(no doc) [5 implementers]
enclaver/src/nitro_cli.rs
HttpClient (Interface)
(no doc) [3 implementers]
enclaver/src/proxy/kms.rs
HttpHandler (Interface)
(no doc) [2 implementers]
enclaver/src/http_util.rs
AttestationProvider (Interface)
(no doc) [2 implementers]
enclaver/src/nsm.rs
KmsEndpointProvider (Interface)
(no doc) [2 implementers]
enclaver/src/proxy/kms.rs

Core symbols most depended-on inside this repo

len
called by 15
enclaver/src/bin/odyn/console.rs
to_str
called by 12
enclaver/src/images.rs
write_all
called by 12
enclaver/src/bin/odyn/console.rs
method
called by 9
enclaver/src/proxy/kms.rs
path
called by 9
enclaver/src/proxy/kms.rs
serve
called by 9
enclaver/src/proxy/ingress.rs
send
called by 7
enclaver/src/proxy/kms.rs
send
called by 7
enclaver/src/proxy/egress_http.rs

Shape

Method 171
Function 108
Class 90
Enum 13
Interface 7

Languages

Rust98%
Python2%
Go1%

Modules by API surface

enclaver/src/proxy/kms.rs47 symbols
enclaver/src/bin/odyn/console.rs37 symbols
enclaver/src/proxy/egress_http.rs35 symbols
enclaver/src/nitro_cli.rs23 symbols
enclaver/src/images.rs17 symbols
enclaver/src/proxy/pkcs7.rs15 symbols
enclaver/src/proxy/ingress.rs15 symbols
enclaver/src/manifest.rs14 symbols
enclaver/src/build.rs14 symbols
enclaver/src/tls.rs13 symbols
enclaver/src/run.rs12 symbols
enclaver/src/api.rs12 symbols

For agents

$ claude mcp add enclaver \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact