The reason why I hate features like this is because it now puts the onus on customers to detect fraud, not the banks. If my understanding is correct, you have 60 days to reverse any fraudulent checks on your account. If you're someone like me that doesn't look into their bank account too closely (because you don't spend a lot), then you could be the victim of fraud very easily. And in the age of Photoshop, you can make a very convincing check image very easily.
While I agree with the principles of your objection, there are several mitigating factors.
First, generally deposits are done via an app without choosing a photo from the photo roll. So you'd need to actually print a check to get it through the app, or hack the app to take a digital file. The deposit is tied to your account, and your physical phone, which means if you use it for fraud it is easy to trace back to you. I suppose we could see stolen phones being used to deposit checks, but then they'd have to get the money out of that person's account and move on quickly.
Second, a bank that isn't customer-hostile will have many notification tools available. I get push notifications of large transfers in or out, and the same for low balance warnings or upcoming bill payments.
Moving on to some opining...
I wish I could print one-time use codes (QR or letters) on my checks. It'd be nice for me to submit the amount and the challenge code through my bank's app to authenticate a paper check.
But the fact is, I now write checks very infrequently. Assuming that's a broader trend, I think any major development we see in the handling of checks will be to benefit businesses, which might deal with a lot of them going in and out.
We don't let our customers write checks directly. They can send checks from our apps, but they don't get a checkbook. Even if someone produced checks with one of our customer's account numbers, our systems are set up to reject them.
We are working on a way to let our customers write their own checks, but we're taking our time on this feature as we want to shut down that fraud path with a special type of check. More details to come in the future.
The feature we released today is for check deposit. Yes, you could suffer if someone gave you a fraudulent check, but the risk is no different than depositing that same check at a teller.
As a customer it's interesting to learn that you would reject "custom" checks since your app shows me the routing number and I can use that (and have used that) to do EFT which asks for the number off the bottom of a check. You make it look like a check, and it works like the number off a check, but a third party printed check using that same number wouldn't work? Good to know.