The security hardening I implemented was tenant isolation across the API surface. X-Tenant-Id is now enforced on asset reads, upload completion, asset/job event reads, clip listing, job reads, cancellation, deletion, and signed download URL creation. Cross-tenant access returns 403 via the new src/main/java/org/example/videoclips/application/ForbiddenException.java:1 and handler wiring in src/main/java/org/example/videoclips/api/ ApiExceptionHandler.java:1. I also stopped exposing providerUploadId from the upload-session read response in src/main/java/org/example/videoclips/application/VideoAssetService.java:224, since that provider identifier is internal metadata. Verification: mvn -q test passed. - TenantQuotaControllerTest: 1/1 - VideoAssetControllerTest: 11/11 - RetentionCleanupJobTest: 2/2 - DatabaseBackedClipJobQueueAdapterTest: 2/2 The production-hardening section of the plan is now fully checked off. |
||
|---|---|---|
| .idea | ||
| docs | ||
| src | ||
| tmp | ||
| .gitignore | ||
| pom.xml | ||