How would one calculate front vector of an edit bone

I’m trying to write a script that places a bezier curve that follows selected bones.
I need a vector pointing in the front of the bone (rotated 90° from the direction it’s pointing at as illustrated below)

I’ve tried to multiply vector (for example [0,0,1]) with EditBone.matrix, no luck. I’ve tried to subtract tail from head, create euler from that and multiply by roll, well no luck. (and many different variations of this)

I just can’t seem to find a reliable way to calculate a front vector for any kind of bone direction and roll.

Has anyone done this or does anyone more educated on 3d math know how to accomplish this?