I'm an indie game developer and I often hire freelancers for artwork. We sign an agreement to basically state that I'd get ownership of the resources they produce.
I'm a fairly picky person when it comes to formalities in these agreements, and I can't find a good system to document file transfers between freelancer and client. What I'm looking for is:
A way to track a relationship between their email account and mine, and document file exchanges, like a "timeline":
- Freelancer uploaded X file at 16:50 UTC+03:00, [download button]
- Freelancer uploaded Y file at 17:43 UTC+03:00, [download button]
- Client uploaded Z file at 18:35 UTC+03:00, [download button]
And files are permanently kept in the timeline for documentation purposes - it should be impossible to delete an entry (unless both parties agree to delete it). The point of such structure is to "vouch" that this person transferred a file at some point and neither party can deny it.
Technically, e-mail attachments do exactly this. However, if it is a relatively large file, Gmail will ask them to upload to Google Drive. The problem with this is that Drive lets them keep ownership of the file (so if they delete it, I cannot get it back unless I had downloaded it); we would lose the whole "record" thing as there will be no guarantee that the file that I have is in fact the file that they uploaded.
How we've worked with a few freelancers in the past is that they will transfer a bulk of files (zip) to us using whatever convenient method, and then, in written, state that they have produced and transferred a zip with some MD5 hash. So if it is ever necessary to prove that such a file was given to me by a freelancer, we'd just compute its hash. However that's understandably inconvenient.