Om een enclave te gebruiken, wordt de lay-out van de enclave eerst opgezet met niet vertrouwenswaardige code. Vervolgens communiceert de applicatie met de driver om de enclave uit te ‘meten’. Daarbij worden de geheugenlay-out en de inhoud ervan gehast en de geheugenbescherming geactiveerd.
Daarna kunnen het programma en de software niet met hogere privileges in de enclave kijken – oftewel gegevens uitlezen. Voor communicatie met de code in de enclave moet de applicatie een speciale interface gebruiken. Steeds als wordt gewisseld tussen normale code en code in de enclave, vindt een soort context-switch plaats. Net als bij een systeemaanroep beveiligt de processor daarbij register- en stackinhoud, zodat geen beschermde gegevens uit de enclave naar de applicatie doorglippen. Een typische enclave biedt een aantal functies en kan vanuit de applicatie met parameters worden aangeroepen om een waarde terug te leveren.
Theoretisch kunnen willekeurige functies worden geïmplementeerd in een SGX-enclave. Maar er zijn praktische grenzen aan het programmeren voor enclaves. Zo zijn systeemaanroepen vanuit een enclave verboden, die moeten worden uitgevoerd door het onbeveiligde deel van een applicatie.
De grootte van een enclave is ook beperkt, bij de huidige processors is dat maximaal 128 MB. In het BIOS kan dat vaak nog verder beperkt worden. Door die beperkingen kan bestaande code vaak moeilijk geporteerd worden naar enclaves, maar moet de betreffende functie speciaal voor SGX geschreven worden.
Als een enclave eenmaal gestart is, is hij beschermd tegen toegang van buitenaf – ook door de virusscanner. Om te verhinderen dat schadelijke software zich via SGX in het systeem nestelt, moet een derde vertrouwenswaardige partij de lay-out van de enclave eerst controleren. Dat kan door externe controle (Remote Attestation) van cryptografische meetwaarden die de hardware bij het initialiseren bepaalt. Daar is een Attestation-server van Intel voor nodig.
Wie SGX-code ontwikkelt, moet die signeren met een door Intel gecertificeerde ontwikkelaarssleutel, zodat de processor de code uitvoert. Alleen bij het debuggen is dat niet vereist. Intel stelt daarbij hoge eisen aan bedrijven, die onder andere aantoonbare maatregelen moeten treffen om hun geheime sleutel te beschermen, bijvoorbeeld met een Hardware Security Module (HSM). Daardoor is het aantal mogelijke ontwikkelaars voor SGX beperkt. Bovendien beslist Intel mee welke software überhaupt mag draaien. Er zijn daarnaast Spectre-aanvallen op SGX-enclaves bekend geworden. Doordat het besturingssysteem nog altijd centrale elementen zoals de lay-out van pagetables of scheduling regelt, is indirect veel af te leiden over het gedrag van enclaves en zijn daar weer aanvalsmogelijkheden.