I am not sure what is happening. I have a CPT and the url structure is like this: versteckter Link
However if I use a short version like this: versteckter Link
it will still get to: versteckter Link
This is great, however for this post: versteckter Link
if I use short: versteckter Link
it goes here: versteckter Link
But if I remove the last "s": versteckter Link
it goes here: versteckter Link
WordPress is trying to guess what post you want to display when you enter a URL for a post that doesn't actually exist.
This URL is for the alice-ivy post of the custom post type publishing-roster:
versteckter Link
Remove the custom post type slug and then it's a page or post:
versteckter Link
But there is no such page or post with that permalink, so WordPress hunts for something that it thinks matches.
In this case it comes up with the custom post.
In your other example it comes up with the image file with a close match.
It's how WordPress works when it comes to parsing URLs. The solution is to be sure to generate links for your custom posts that your users can find rather than have them guess URLs.
Thanks, that is what I was thinking. The team wanted to share these short links and they just happened to work by accident for some and not for others.