ProMiSe (Policy-aware process Mining Service) is a software framework and service that enables controlled information usage in process mining.
ProMiSe focuses on process discovery and enforces usage control rules expressed as policies.
These policies are executed within a Trusted Execution Environment (TEE) to guarantee confidentiality and privacy of sensitive event log data.
Our solution was presented at ICSOC 2025. The slide deck is available on SlideShare.
For further information, consult our paper:
- Valerio Goretti, Sabrina Kirrane, Claudio Di Ciccio (2025). Usage Control for Process Discovery through a Trusted Execution Environment. Service-Oriented Computing 23rd International Conference, ICSOC 2025, Shenzhen, China, December 1–4, 2025, Proceedings. Springer (to appear)
├───DataOwner | user application
├───Platform | process discovery service provider application
│ ├───PolicyDecoder | policy decoder module
│ ├───SecureAppComposer | secure app composer module
│ └───TAgenerator | configuration layer generator
└───Test | Test folder
├───memConsumption | memory consumption test
├───overhead | overhead tests
└───scalability | scalability test
To set up and run the project, you need to have the following dependencies installed:
- Go (version 1.16 or later)
- Python (version 3.6 or later)
- ego (Edgeless Systems' confidential computing framework)
- Intel SGX enabled CPU (required to run the process vault in non-simulation mode)
- Clone this repository:
git clone https://github.com/ValerioGoretti/ProMise.git cd promise
- Enter in the folder:
cd Platform/Ower - Build and sign the project:
pyton3 main
-
Enter in the folder:
cd Platform/TAgenerator -
Build and sign the project:
ego-go build main.go ego sign main
-
Run the project (with TEE-enabled processor):
ego run main
-
Run the project (simulation mode):
ego run OE_SIMULATION=1 main
