PPIL client — Java
com.aithne:ppil-client — a Maven artifact (Jackson) mirroring the verified @aithne/ppil-client AVP contract, with mTLS support.
SDK overview
Install
# Maven dependency (illustrative)
<dependency>
<groupId>com.aithne</groupId>
<artifactId>ppil-client</artifactId>
<version>1.0.0</version>
</dependency>
// JDK 11+, Jackson databind
<dependency>
<groupId>com.aithne</groupId>
<artifactId>ppil-client</artifactId>
<version>1.0.0</version>
</dependency>
// JDK 11+, Jackson databind
Example only — the registry publication path is being confirmed with the AVS engineering track. The tested client ships from the AVS workspace until then.
Surface
client.issue(IssueRequest.of(attestationRef, correlationId))
client.verify(VerifyRequest.of(pptToken, otpAlias, requiredCategories))
client.revoke(RevokeRequest.of(pptId))
client.getVerificationModal(PptScope.AGE)
client.verify(VerifyRequest.of(pptToken, otpAlias, requiredCategories))
client.revoke(RevokeRequest.of(pptId))
client.getVerificationModal(PptScope.AGE)
What it does
- Typed request/response DTOs for the full AVP surface (issue, verify, rotate-otp, get, revoke, verification-modal).
- mTLS client trust-chain configuration (
tls.caPath/certPath/keyPath) for the ecosystem trust model. - Config from a JSON file with env-var binding; every call requires a non-empty
correlationId. Util.maskSensitive()masking and heuristic token checks on every diagnostic path.- Verified by a 21-case JUnit contract suite (mock server, no real data).