Calculate attachment expiry from the case closure instant
Files uploaded long before a case closes are being removed too early because the prototype starts the retention clock at upload.
Estimated field mix
- Privacy engineering70%
- Backend30%
Preparing the next view without exposing private workflow data.
Design a system. Diagnose tail latency. Ship a migration. Recover a failed rollout. Pick a focused ticket or follow a project through its delivery phases.
1380 tickets · 138 projects · 26 engineering fields · Four difficulty levels
Field counts and the engineering field filter use each project's primary field. Estimated ticket labels can span multiple fields.
50 matching tickets · Page 1 of 5
Files uploaded long before a case closes are being removed too early because the prototype starts the retention clock at upload.
Estimated field mix
Removing the primary upload leaves its thumbnail and a cached diagnostic preview behind.
Estimated field mix
Any support member can currently set a permanent hold with no reason, and the flag has no owner for later review.
Estimated field mix
Operators cannot tell why two similarly aged attachments are treated differently by the retention job.
Estimated field mix
An attachment becomes held after the purge queue is populated, but the worker trusts the old eligibility flag and removes it anyway.
Estimated field mix
The primary object is gone but thumbnail removal timed out. A retry treats the missing primary as success for the entire attachment.
Estimated field mix
Reopening a case overwrites its closure timestamp. Support can no longer explain whether an attachment was eligible when a purge started.
Estimated field mix
The only retention report exports every filename to a general analytics dashboard.
Estimated field mix
Product proposes reducing the exercise retention period from 30 to 14 days. Applying the constant immediately would make a large backlog eligible at once.
Estimated field mix
The purge process crashes between provider acknowledgement and state persistence. The dashboard cannot tell which objects remain.
Estimated field mix
A member belongs to two organizations. The current button says delete account but removes only the active membership.
Estimated field mix
A request body supplies a profile ID and the API trusts it even when it differs from the authenticated member.
Estimated field mix
5 matching projects · Page 1 of 1
Implement explicit retention clocks, protected exceptions and bounded purge recovery.
Coordinate scoped profile removal, derived-store cleanup and truthful completion reporting.
Build a scoped asynchronous export, redact unrelated records and expire its downloadable artifact.
Version user choices, enforce purpose-specific dispatch checks and recover delayed preference updates.
Build an allowlisted telemetry boundary, useful aggregates and controlled diagnostic access.
Practice scoped changes, keep a portable implementation and verification record, and learn to explain operational tradeoffs. Choose a ticket whose prerequisites you can provide.
Use realistic work to structure onboarding, internal practice, and conversations about engineering decisions. Each project names the delivery benefit. Agree scope and compensation before requesting company-specific work.
CSV contains one row per ticket. Map fields and issue types in your tracker; project grouping and dependency keys are descriptive. JSON preserves the complete project structure. These downloads do not synchronize with Jira.