Short answer: yes; Africa HR Rep can technically open up the STP pack panel and locate the OUT table for Asia there. If the doc is sufficiently unlockable, they can drag the table into the doc and if the rules there are read:*, they’ll see the data. You have to use the secret tokens to reliably separate who can load what through the common STP setup made under your account.
I’ll explain some more about how the packs authentication system works and hopefully it makes this clearer.
When you installed Sync Tables Pro into a new doc, it asked you to authenticate, in my pack’s case it was authenticate with Coda itself. It’s basically a one-click setup and it uses your account (the one you were using when you made that action). So in the end, Coda created a connection under your account (i.e. as if it were you), and this is going to be the connection under which everyone who’s using the doc will use Sync Tables Pro. Don’t worry, nobody can do anything under your account because the connection can only work with a pack it’s created for — i.e. it’s just the pack that will work (tables loaded, buttons pressed etc) as if it were you pressing them and making changes.
The most important thing that this means is: the pack has access to the docs that you have access to. This way you don’t share Doc Asia or Doc Africa with anyone, but you can make a public doc e.g. Summaries where you import some data from Doc Asia and Doc Africa. The data is imported because it uses your connection, but people cannot access those full docs directly.
Then, connections can be limited to readonly, and to specific tables/views/docs — that’s what cross-doc does. And that’s exactly where cross-doc lacks: its security model totally depends on those limited connections. That’s why you basically cannot swap them, or replace tables, or introduce more flexible access rules.
That said, since you would’ve authenticated Cross-doc with your account, it would still let anyone in that doc import tables/views that you would’ve been able to import. (unless something changed recently and I’m not aware of it)
My pack does it a bit differently. It uses the full access token but programmatically (in the pack’s code) limits what rows get to go through depending on that secret token parameter, security rules and other things. So, again, Cross-doc allows everything through that the connection rules allow (not evaluating any data), and my pack has that extra evaluation step to it. But underneath it’s still that connection that’s like “act like Astha Parmar”. That’s why, if the data is sensitive, you have to make use of read rules to actually secure the data from getting “let through” the filter inside the pack.
Hope this makes it clearer