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.
For further information, consult our paper:
- Goretti, V., Kirrane, S., Di Ciccio, C.: Usage Control for Process Discovery through a Trusted Execution Environment. In: International Conference on Service-Oriented Computing (2025)
├───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
