Select to view content in your preferred language

Survey123 Camera Method and Attachment Behavior

129
9
Tuesday
dpwh_deguzmangbr
Emerging Contributor

Issue:
In Survey123 Connect, the image question is configured with method=camera to require surveyors to capture photos using the device camera. However, when the camera functionality is disabled on the mobile device or camera access is unavailable, Survey123 automatically provides the option to attach/select an existing image from the device.

This behavior may allow surveyors to bypass the intended camera-based photo capture process by attaching an existing photo instead.

Expected Behavior:
When method=camera is configured, the survey should require a photo captured through the device camera. If camera access is disabled or unavailable, the image question should not automatically provide an attachment/browse option that allows the surveyor to select an existing photo.

Actual Behavior:

  • method=camera is configured in Survey123 Connect.
  • When camera access is available, the camera capture option works as expected.
  • When camera access is disabled on the mobile device, an attachment/browse option becomes available.
  • This allows the surveyor to attach an existing photo instead of taking a new photo.

Impact:
This may affect photo validation and field data integrity, particularly for workflows where the photo must be captured directly during the survey and should not come from the device's existing gallery.

Request:
Please confirm if this is the expected behavior of method=camera and if there is a configuration or parameter that can completely prevent users from attaching/browsing existing images when camera access is disabled or unavailable.

9 Replies
Neal_t_k
MVP Regular Contributor

Just playing devil's advocate here:  What happens if the camera on the survey device is broken, but the image question is required. There would be no way to submit a form.

One thing you could try is to setup a constraint based on the EXIF data. Something like pull the date taken from the EXIF data and then check that it is in a specified amount of time from now().

Working with EXIF image metadata in Survey123 for ... - Esri Community

  

 

0 Kudos
DavidSolari
MVP Regular Contributor

If the requirement is "all photos go through Survey123 for process control/watermarking/whatever" then if your phone camera breaks it's time to get a new phone. Once a project reaches a certain scale it's better to make an emergency stop at the Apple store than to let uncontrolled data slip in.

0 Kudos
Neal_t_k
MVP Regular Contributor

Hence the "devils advocate" preface.😁

0 Kudos
dpwh_deguzmangbr
Emerging Contributor

I agree with that point. If the requirement is that all photos must go through Survey123 for process control and watermarking, then allowing users to bypass the camera and attach existing photos defeats the purpose of the requirement.

In that case, a broken camera should be treated as an equipment issue rather than allowing an alternative upload method. Once the project reaches a certain scale, maintaining controlled and traceable data is more important than allowing a workaround that could introduce uncontrolled photos into the system.

0 Kudos
dpwh_deguzmangbr
Emerging Contributor

I like the idea of playing devil’s advocate. However, the EXIF date/time check could still be bypassed because the date taken in the photo metadata can be modified before attaching the image. Someone could simply edit the metadata to make the photo appear to have been taken within the required time window.

Since people can find ways to bypass these types of checks, the EXIF validation would only serve as an additional layer of verification rather than a reliable security control. It would not confirm that the photo was actually captured using the Survey123 camera at the time of the survey.

0 Kudos
abureaux
MVP Frequent Contributor

I would recommend making this post in the Ideas thread, and then linking that thread here so people can vote for it.

0 Kudos
dpwh_deguzmangbr
Emerging Contributor
0 Kudos
TylerGraham2
Frequent Contributor

Have you tried the appearance setting "new-rear" with the image question to see if you get a different behavior than with method=camera?  It also might be worth submitting a bug report to esri. 

I can think of lots of situations where you don't want someone taking photos separately and then uploading them via browse.  It could be you need to prove you were at a location at that time or even for records management, so you don't have a bunch of photos floating around on devices that need managed along with photos in the feature service.  

I think it would be good to suggest in the Survey123 Ideas something like a pulldata("@property", 'cameraDetected') property that would let the survey check for a working camera on the device. That would let you lock the entire survey down and prevent them from using it if they try to use broken equipment or deliberately disable their cameras. 

Lacking something like that, @Neal_t_k suggestion with time on the exif data is good, or you could even grab GPS coordinates from the picture and play around to see if you can check if the pic coordinates are within a distance of the survey points (provided there is some sort of point data associated with the record).  

0 Kudos
dpwh_deguzmangbr
Emerging Contributor

The images being attached can contain metadata such as the GPS coordinates and date/time the photo was taken. However, there is currently no way to reliably validate in Survey123 that the attached image was actually captured using the device camera at the time of the survey.

The EXIF metadata can potentially be checked against the survey location and submission time, but this would only provide supporting evidence. It would not confirm that the photo was taken through the Survey123 camera or prevent someone from attaching an existing photo with metadata.

That is why having a property such as pulldata("@property", "cameraDetected") would be useful. It could allow the survey to determine if a working camera is available and prevent submission when the camera is disabled or unavailable.

0 Kudos