source-cooperative / source-cooperative/data.source.coop
[Proposed Feature] Time-based deletion protection for published datasets (similar to Zenodo) and Public Ledger
Open
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 24
- Forks
- 6
- Avg merge
- 1h 32m
- Merged PRs (30d)
- 1
Description
Description of Feature:
I am proposing the implementation of two interconnected data governance features for the Source Cooperative data proxy:
- A Public Transaction Ledger: A comprehensive audit log or "ledger" for every product (repository). This ledger should record the full history of the product's lifecycle, including:
- File Additions: When a file was added and by whom.
- Updates/Overwrites: Tracking version changes or modifications to existing files.
- Deletions: A record of when data was removed.
This ledger would allow users to verify the state of the data at any point in time and understand its evolution.
- Controlled Deletion Workflow (Optional Feature): An optional setting at the product/repository level that restricts immediate deletions. When enabled, this feature would mirror the "Request Deletion" workflow used by platforms like Zenodo (see here for more information). Instead of an automated delete action, the process would require:
- A Deletion Request: Triggered by the data owner.
- Mandatory Justification: A required text field where the user must provide a valid reason (e.g., legal compliance, privacy concerns, or data corruption).
- Review/Approval: A mechanism (either via Source Cooperative admins or a delayed-release timer) to ensure data is not removed without proper oversight or documentation.
What value is this feature adding to Source Cooperative?
- Enhanced Data Provenance and Trust: For open-source data to be used in scientific research or policy-making, users must trust its history. A ledger provides an immutable "paper trail" that proves what was changed and when, preventing "silent" data updates that can break reproducibility.
- Alignment with FAIR Principles: These features support the Findability and Accessibility of data. By requiring justification for deletion, we ensure that data is not removed whimsically, preserving the integrity of the citations and links that point to Source Cooperative.
- Protection Against Accidental Loss: By making the "hard deletion" of data a managed process rather than a single click, the platform adds a safety layer against accidental data loss or malicious account activity.
- Accountability for Data Stewards: Forcing a justification for deletion (similar to Zenodo’s policy) encourages better data management practices. It ensures that if data is removed, there is a documented reason—such as a GDPR "Right to be Forgotten" request or a copyright issue—which provides clarity to the community of users who may have been relying on that dataset.
- Professionalism and Longevity: Implementing institutional-grade repository features like these positions Source Cooperative as a robust alternative to traditional academic repositories, attracting high-value datasets that require strict governance.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are identified in the issue. First clarify whether the ledger and controlled deletion workflow are both required, then define the data history, request, justification, and approval behavior; done should include an agreed scope and acceptance criteria for both features.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100