66

I have to produce a screenshot of a web page, and want to make sure others will know without any doubt that this screenshot has been produced today. That is, I would like to embed today's date in the screenshot as irrefutable proof the screenshot has been made exactly today.

Is there any way?

12
  • 7
    you could try digitally signing the file because all metadata of a photo can be edited
    – schroeder
    Jun 26, 2016 at 10:44
  • 32
    Someone else must sign the screenshot. Because nothing prevents you from signing it inserting false data.
    – Bakuriu
    Jun 26, 2016 at 12:38
  • 7
    If you did it yourself, you could easily spoof it using Developer Tools, even if the date was real. Jun 26, 2016 at 20:13
  • 9
    Do you want to prove the screenshot? Or the data represented by the screenshot? That is, you can craft an image that looks exactly like a screenshot but have the image show whatever you choose. Then you take a screenshot of your image and have your guaranteed date (but of false data). What exactly do you need to guarantee? Even a 3rd-party might have trouble providing a guarantee that's useful. Jun 26, 2016 at 21:04
  • 7
    web page screenshots are of no value, because browser developer tools allow to change the content easily in any way. same goes for photos of a screen. you as the owner of the computer have power to make it display anything Jun 27, 2016 at 4:00

10 Answers 10

72

If you want to prove to others that you took the screenshot on a specific date and not later, you will not be able to do it yourself, you will have to rely on some common trusted third party.

For low importance issues, this can be accomplished by simply posting the image on some well known public service where the date when the image has been posted will be mentioned. Be sure to check beforehand that this service does not offer any possibility to modify the picture without altering the upload date!

For higher importance issues, you will have to contact a bailiff or a notary. By being present during the screenshot, they will be in measure to vouch the date and the conditions when it has been taken. For instance I've read about such procedure being used when someone wants to keep a proof of the existence of a security flaw still valid even once the flaw itself has been corrected. However, if you go that way I would strongly recommend to check the Law StackExchange website before engaging yourself into anything.

4
  • 3
    @User: My wording was intentional. The bailiff / notary may still be of some help, but even then I do not see how they can reasonably vouch that you have never taken any identical screenshot by the past. Maybe adding some more information on your actual need behind this screenshot may help, otherwise there is probably no real solution to your issue. Jun 26, 2016 at 12:06
  • 9
    @User: While thinking about it, this is very context dependent and a very sad example, but kidnappers used to make their victims carry a well-known newspaper from the day in order to prove that the video has been recorded on the given day and not at a previous date. Some adaptation of this may or may not be applicable in your case, but as far as screenshots are concerned some people may still claim that the picture has been manipulated. Jun 26, 2016 at 12:15
  • As there's a lot of talk about forgery here, could the very same notary be handed a large brown envelope stuffed with cash? It'll still be cheaper than some of the forgery methods suggested in other answers...
    – RemarkLima
    Jun 29, 2016 at 8:27
  • A real plug-and-play solution would be to use a service like Notarizer
    – kemp
    Nov 25, 2018 at 15:55
58

Uploading a hash of the screenshot to the Ethereum blockchain allows anybody in the future to make sure that the screenshot was taken before the hash was uploaded. Of course, you should choose a hash function that is cryptographically secure (and in particular, collision-resistant).

If you however also need to make sure that the screenshot wasn't taken before a certain date you have to go to trusted person like a notary to have them create the screenshot.

If you don't need complete legal certainty, the Wayback Machine has a "Save this url in the Wayback Machine" feature. The Wayback Machine doesn't gurantee their own data integrity but their data is relatively trustworthy for many applications. archive.is is another similar tool.

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Rory Alsop
    Jul 2, 2016 at 11:49
17

Ask a mutually-trusted third-party to use their own independent equipment to make the screenshot and ask them to date and sign it (digitally or using ink)

The normal way is to pay a solicitor/lawyer/notary to do this.

It is trivial for you to fake a date in image metadata (EXIF etc) or in a digital signature - so you need certification by someone that will be trusted by anyone with doubts who you need to convince.

0
11

There is no need to rely on a trusted third-party. Besides the excellent suggestion to use a blockchain (the answer by Christian), you could use a publically verifiable service like the excellent Stamper

Even better, store the screenshot in several (unrelated) of these services. Even the most paranoid checker would no longer be able to complain.

PunKeel on Twitter suggested the excellent Wikipedia page on Trusted Timestamping which has some other suggestions.

4
  • 2
    How does that prove that the screenshot wasn't made a year before the screenshot was submitted to the service? How does it prove it wasn't photoshopped? Jun 27, 2016 at 9:22
  • 1
    @RedGrittyBrick Proving the screen shot was not made earlier: impossible. There is no solution for that (may be adding to the screen a Web page showing today's news?). Proving it wasn't photoshopped: same thing. (Well, there is a solution, using a trusted third-party that will take the picture and vouch for it. Obvious solution but which requires to trust someone else.)
    – bortzmeyer
    Jun 27, 2016 at 11:58
  • 1
    Proving a screenshot was not taken earlier is impossible after the screenshot has already been taken. As noted in other answers, it is possible to verify exact date by using a trusted third party present at the time the screenshot is created. That's why the third party is required to answer the question as stated. Jun 27, 2016 at 15:28
  • @bortzmeyer In terms of legal proof, having a trusted witness is sufficient. That's why people are suggesting a third party (such as a notary).
    – jpmc26
    Jun 28, 2016 at 17:22
8

I think there are 3 parts to this question, and I think I can reasonably answer all three. I think parts 1 & 2 have been mostly answered above, but I think this will link them together. I added a related followup question:

  1. Can I prove that a file (screenshot or otherwise) was generated on or before a particular timestamp?

    • Add a copy or secure hash of your file to either a trusted third party's tamper evident publicly visible data store for later verification. Adding this data to a blockchain (similar to what bitcoin uses) would be a good example of such a data store if the blockchain is public and frequently appended to with a sufficiently powerful network of hashing (aka "miner") nodes. The blocks include hashes (directly or indirectly) of all data on the chain that came before it, including your data.
  2. Can I prove that a file (screenshot or otherwise) was generated or modified on or after a particular timestamp?

    • Include as part of the image some public data that didn't exist before that point in time, but is easy to verify later. (Some examples would be the current head of the Bitcoin blockchain, the last closing price of a well known stock exchange, or the score of several recent sporting events for instance.)
  3. Can I prove that PART OF the screenshot wasn't created before a given point in time?

    • No, definitively! Proof?:
      • Assume that there is a way to verify specifically when a screenshot was taken, despite modification.
      • Assume also that you can differentiate an actual screenshot from one that came out of a graphics editing program like Photoshop.
      • Take one of these timestamp verified, modification apparent screenshots from 3 weeks ago.
      • ( Optionally edit it in any program of your choice. )
      • Now open it, fullscreen, in an image viewer.
      • Capture the current screenshot, with the assumed verification technology we used as a premise for this proof.
      • Now you have proof that a 3 week old image was taken today, causing a contradiction to our premise.
  4. (Followup question) What part of my data can I prove was generated after a given point in time?

    • If you can make some part of your data directly derivitive from arbitrary input (like a hash being derivative from arbitrary input) that can verify that the output was generated after a point in time as described in #2 above. Unfortunately that doesn't verify creation timestamp of anything adjacent to the timestamp derived data, just that data, and its output.
2

For simplicity, let's consider those that attempt to verify your screenshot dates as users.

Your users cannot tell:

  • Whether the age of the screenshot is older than age claimed by the timestamp. E.g. you may take a screenshot months ago but assign it a recent timestamp, and your users can't tell.

Your users can tell:

  • Whether the age of the screenshot is younger than the age claimed by the timestamp. E.g. you can never take a recent screenshot and claim that it was taken months ago.
6
  • I'm not sure it was a change for good. It looked like a simple language problem (one "not" either missing or to much). Now it's a total surrealism. OP wanted to take a screenshot and prove the date. I have no clue who are "your users" in your answer.
    – techraf
    Jun 27, 2016 at 4:53
  • That's the problem: "prove the date" is too generic and implies that the date is proven to be right, which is false. We must pay attention to the fact that he can only prove that the screenshot is not younger than the date he claims. He can never prove that the screenshot not older. "Your users" are those who are going to verify the proof of your date/timestamp.
    – caveman
    Jun 27, 2016 at 5:00
  • Wait, what stops you from assigning old timestamp to arbitrary file? Jun 29, 2016 at 12:19
  • @OlegV.Volkov Trusted 3rd party time provider that signs its timestamps along with the hash of the image.
    – caveman
    Jul 1, 2016 at 1:28
  • @caveman, yeah, but "trusted 3rd party" is nowhere in your answer. And OTOH "trusted 3rd party" is the single answer anyway, with or without timestamp. Jul 1, 2016 at 11:16
2

Without knowing the prevailing law where you require this, all answers are moot.

For last year's Large Renewable Procurement (LRP) in Ontario, Canada, proponents had to prove that a public web page was available on a certain date. After much discussion with proponents, the agency required:

  1. a printout of the webpage, showing URL and system clock date and time; and
  2. a notarized solemn declaration affirming that all information in the screenshots was complete and accurate.

(For the curious, the full 11 page declaration is here, in DOCX format: Registered Proponent Declarations.)

Although digital signatures have legal standing in Ontario, the agency required “wet” (that is, printed and manually signed in ink) originals to be made available. As these requirements were in the RFP wording, any proponent choosing not to comply was at liberty to withdraw from the competitive bid process.

1

Why wouldn't you take an actual photo of the screen, not a screen shot, screen capture, print screen?

Take a digital camera, or smart phone, have the page up, have in the shot a copy of today's paper. Much harder to photoshop.

Even better, take a video, today's paper in shot, open the browser, type in the url and show the page loading and the content in question. Also browse to the NASDAQ, FTSE and other relevant sources in the same session, or have their tickers running at the same time.

The amount of effort to forge this, and with screen reflections etc would mean it would need to be very serious to go to that amount of effort.

4
  • 10
    It's actually not that hard. You can easily take a screenshot, modify that screenshot, then display it in fullscreen. Having physical objects won't help, since you can easily composite such an image.
    – March Ho
    Jun 27, 2016 at 0:18
  • 1
    That's why a video of the url being typed in (of course you can hack your hosts file easily enough), and some current ticker running along side.
    – RemarkLima
    Jun 27, 2016 at 7:08
  • 5
    @RemarkLima: all easily forged, such evidence would not survive legal scrutiny in court by expert witness. Jun 27, 2016 at 9:25
  • Which is why the right answer is to get a trusted third party, as accepted. But if it's of lower importance then at least it's harder to forge. The fact that you can make FX transactions with a mug shot holding some ID means that it'd hold for many purposes.
    – RemarkLima
    Jun 27, 2016 at 9:36
1

There's many ways of achieving this. You should pick depending on how important the proof is and your budget.

Background (History, Theory)

This is an excellent question - one that has been asked and answered, in various forms, since at least Galileo's time:

Early astronomers used anagrams [...] to lay claim to new discoveries before their results were ready for publication. Galileo used smaismrmilmepoetaleumibunenugttauiras for Altissimum planetam tergeminum observavi ("I have observed the most distant planet to have a triple form") for discovering the rings of Saturn.

Nowadays, this process is usually called trusted timestamping, and usually works with a commitment scheme, very much like Galileo's anagram. On digital media (text, pictures, video), the commitment is usually the result of applying a hash function to the original.

While the process of deriving a commitment is very much a solved problem, it's only a part of the process. Often, the difficult part is knowing to whom do you want to prove the timestamp.

For example, let's say you want to prove to a person P that you've taken a picture at time T. If you know that ahead of time, it's trivial: just derive a commitment C at time T and send it to P directly.

However, if you only learn who the person is after you've taken the picture, this is much harder - because you need to know, ahead of time, who (or what) the person trusts without knowing who the person is.

If you have absolutely no idea who P is, a good compromise is to send your commitment to entities a lot of people trust

In practice

For content that is not extremely important (e.g: you're trying to prove ownership of a photo), there's several easy steps you can take, especially if you don't care about the confidentiality of the content:

  • Send it over a email or chat service (one where you can't edit your messages after sending them). You can send it to yourself or someone who P trusts.
  • Publish it on a blog, forum or social media service (that doesn't allow silent editing of content)
  • Include a timestamped social media post of a famous person in the photo / screenshot (this part proves that you created it after that time)

For content that is important legally (e.g: you're trying to prove someone committed a crime), the safest way is always to ask a notary, lawyer or solicitor.

If for whatever reason you can't, you might want to consider to:

Achieving confidentiality without a notary

Before you even begin, it's important to make sure that P will be have the technical knowledge to read your proof, or willing to get someone they trust to verify it.

Step 1 - derive a commitment

  • 1.1 - Choose a cryptographic hash function. SHA-512 is as popular and secure as it gets for 2016.

  • 1.2 - Get software for your computer that enables you to calculate the hash. Quick Hash GUI is open source and works on Windows, Mac and Linux. If you're a command line user, you can just type sha512sum.

  • 1.3 - Calculate the file hash, and save both the hash and a copy of the file. Be aware that many tools for viewing pictures can corrupt the file, making the hash change. The same is true for (non-plain) text and, to a lesser degree, video.

  • 1.4 - You'll need to keep the original copy until you make the proof. This is easier said than done - see this article

Step 2 - distributing the commitment

You can now publish your commitment. If you want to be as safe as possible, use several of the approaches discussed earlier in this answer.

0

If it is of limited importance http://www.icanprove.com will do for you. Otherwise you will need a real notary.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .