How do you define the hierarchy technically
I also compute relations between admin boundaries of osm data and compare my results with yours. I realize that you do not apply raw containment relations to create a hierarchical order but also some quantitative reasoning in addition.
Example: In Austria -> Vienna -> Favoriten has the child "KG Oberlaa Land (osm relation5241912)"
But actually there is a tiny minor area (top left) where it reaches out of Favoriten, so it actually overlaps.
Your addition of quantitive refinement is very good, so areas that are 99.9% contained are considered contained.
I wonder if you can say something about how you compute containment = parent-child relations.
(Maybe you can relax the robot check in repatcha, it is tedious to ceck images over a minute)
You are correct that we are doing a "sloppy" comparison when building the hierarchy. We do an intersect between all polygons. Then we check that at least 98.5% of a polygon is inside another. If there are multiple matches the smallest polygon is chosen as a parent. So basically we require a 98.5% overlap.
Regarding captcha, this is the first time we hear about that issue. It's basically controlled by Cloudflare, though we can set it to different defensive levels. But if you are having issues with it there is something that Cloudflare doesn't like. Most likely your web browser or external IP. We never get a captcha ourselves. We are also using the default Security Level, which is medium. It's within the companies policy to not use a lower setting than that to protect our services. Especially for a site like OSM-Boundaries which has quite a few quite heavy/slow api calls.