How am I able to start Conditional Start Event from Tasklist by passing incorrect expression?

I have Start Conditional Event with the expression: #{flag}. When I go to Tasklist and start that same process and pass a variable called flag, with the type of boolean and value of false, it works as if the condition was met. When I check Cockpit I can see the newly started process. Loaded variables also show my passed variable I just spoke about.

Can someone tell me is that a bug or I am missing something? Shouldn’t access be denied, as the condition is not fulfilled?

Can you upload the model you’ve created and explain in more detail what you’re trying to achieve exactly?

Thanks for reaching out. I am not trying to do but understand something. And that is why am I able to start a process that doesn’t fulfill Conditional Start Event. I attached the file, so you can see it.
test.bpmn (2.7 KB)

When I go to Tasklist and pass this (shown in the picture below), the process still starts. How when it should be started ONLY when a condition is met, which isn’t (flag would need to be ‘true’).

I expected token to be rejected on that first Start Conditional Event due to false expression evaluation.

I think you just have a misunderstanding on how the conditional start event works.
The idea is not that when someone starts a process that it evaluates the variables and only begins if the condition matches but rather you would use a different call.
https://docs.camunda.org/manual/7.15/reference/rest/condition/post-condition/

That call evaluate against any start events with conditions and start whichever processes that match the conditions.