--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z31gQ8GypSBohSprLMGYjjzmCJ9Rjcp7vE%2BhCzyVFKqLw%40mail.gmail.com.


--
You received this message because you are subscribed to the Google Groups "friam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to friam+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CANpA1Z31gQ8GypSBohSprLMGYjjzmCJ9Rjcp7vE%2BhCzyVFKqLw%40mail.gmail.com.
I've been catching up on AuthZ things over the last week, refreshing on ABAC and getting my head around ReBAC.The capability notion of authority is about reachability.
Many non-capability notions of authority are about set unions - though ReBAC can express things that don't ground out in that way. And of course it's all ambient, or at best very weakly designated (in the sense that maybe I can designate a role that is a set of un-designatable authorities).I wonder how much that difference in view is connected to people not distinguishing authority from permission.
--On Wed, Aug 12, 2026 at 8:55 AM Alan Karp <alan...@gmail.com> wrote:--I find the distinction useful, but many of the people I talk to aren't aware of the difference. Most of them quickly adopt the concept once I explain it to them.I'm drafting a LinkedIn post to explain it, but I don't know who to attribute the concept to.--------------
Alan Karp
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z31gQ8GypSBohSprLMGYjjzmCJ9Rjcp7vE%2BhCzyVFKqLw%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "friam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to friam+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CAAP%3D3QNwg6fowOhFHbCeedNP2ie16dGTjd0ROFh-%2BU4Gt_Rf0g%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAK5yZYgzh84aJERqrzh7po%2Bjw4XYr%2Bzs1z2g1OR2Jp8TJXoPpw%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAK5yZYgzh84aJERqrzh7po%2Bjw4XYr%2Bzs1z2g1OR2Jp8TJXoPpw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAGC3UEn6-gzpURTc2gNkhvLLvXp1Nk%2BFX7cH6hWgo0xzsQ6WXQ%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z3K%3DZ1Vv7DsKCQKL49mej3eR5EKD_3PxzBjYz6hXjth1Q%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QMj4Z9Nf7BbyfQasAqnsRccYy_-Bq%2BpCtyZbcuSob3L%3Dg%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z30V1t9Z%3DVyfJW7LDFmJgqXWvmeYsfWonC949cx7STpfA%40mail.gmail.com.
If it is just eg a swiss number url, how do you prevent delegation?
If it is just eg a swiss number url, how do you prevent delegation?
Let's make a distinction between sharing a capability and delegating it. Delegation gives you separate revocability and responsibility tracking....
Cheap message signing and associating all long opaque codes with an access control list. Is that heresy here?
It's mildly interesting where this notion makes sense and where it does not. In capability systems, authority is defined by reachability and authority updates are simple capability read and write operations. One can view those as meta-permissions, but they operate in all respects like base permissions.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QMj4Z9Nf7BbyfQasAqnsRccYy_-Bq%2BpCtyZbcuSob3L%3Dg%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QMj4Z9Nf7BbyfQasAqnsRccYy_-Bq%2BpCtyZbcuSob3L%3Dg%40mail.gmail.com.
To emphasize Jonathan’s point with the std example:Alice says: bob.foo(carol)Alice is both exercising her right to invoke Bob and permitting Bob to access Carol. Every exercise with object arguments is also an act of permitting.This uniformity is central to the distinction Capability Myths Demolished makes between Capabilities as Rows vs Capabilities as Keys vs Object-capabilities (ocaps).
In something like a ReBAC system, I suppose the closest thing to meta-permissions would be updates to relations. But there doesn't seem to be a clear dividing line that says which relations those are. Without studying the authorization model, one can't really say.
I’m fully on board with meta-permissions being implemented with base permissions. The important distinction is meta-permissions increase or decrease permission/authority, whereas base permissions don’t (unless it’s hidden below the top-level). I might execute a program (base permission) that changes permissions (meta-permission), for example.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QPYhUapEwMq-aNEpxhQ%2BmRO9FFir%3DvZDsY9BksCaXb9kQ%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CACTLOFqg%2B0ko51BeDypMsjJjex%3DT07EKjMsSShojYLg7MDN7gg%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAGC3UE%3DS436S214W6Ds-4xWC%3DapgCOHOa0rggbXe8PfW3_%2Bqqw%40mail.gmail.com.
Please everyone stop saying that authority is the graph, or is reachability within the graph.Authority is bounded by the graph (TA), specifically, by the transitive closure of the graph as an undirected graph. This is easy to reason about, but is so imprecise as to usually be useless.Actual authority is further bounded by the actual activity of the objects within that graph (EA). This is intractable, but is what we care about.Between the two is bounding authority by reasoning about the graph and a bound on all possible behaviors of the relevant objects in the graph (EA). This static analysis is hard but precise enough to be useful.
Authority is bounded by the graph (TA), specifically, by the transitive closure of the graph as an undirected graph. This is easy to reason about, but is so imprecise as to usually be useless.
Actual authority is further bounded by the actual activity of the objects within that graph (EA). This is intractable, but is what we care about.
I can only recommend Mark S. Miller's thesis section 9.2 Reference
graph dynamics...
On Fri, Aug 14, 2026 at 7:44 AM 'Mark S. Miller' via cap-talk <cap-...@googlegroups.com> wrote:Authority is bounded by the graph (TA), specifically, by the transitive closure of the graph as an undirected graph. This is easy to reason about, but is so imprecise as to usually be useless.Technically, it's a transitive semi-reflexive closure. There are places where the directionality matters.
But your point that this is a [loose] upper bound is correct. I can't entirely agree with useless, since both of the substantive information flow policies that have been formally verified sit on this model (ours and the L4 isolation verification).Actual authority is further bounded by the actual activity of the objects within that graph (EA). This is intractable, but is what we care about.There is a useful middle position, distinguishing between the actions of trusted actors in the graph vs. untrusted actors. You know the trusted actor behavior by design, which often makes it tractable to reason about.I can only recommend Mark S. Miller's thesis section 9.2 Reference
graph dynamics...Oh heck yes. That guy is really smart!Jonathan
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QN5mu6MjPd6iS%3DHVdP5s2D-qEX7-mjDJtm8sFoLVChwXQ%40mail.gmail.com.
I think this is a useful distinction. In "traditional" capability systems, by which I mean the Dennis and Van Horn hardware-centric notion of capabilities, we would say copy rather than share, but I think those are two terms for the same thing.
Delegation, in systems that supported it, took the form of some kind of transparent interposition objects. I don't recall at the moment whether CAP had such a concept, but many later systems do, including the KeyKOS family. The problem, broadly, being that the tail-chasing depth wants to be bounded and acyclic in such systems for a variety of reasons. I'm not clear whether the same concerns apply to systems built around swiss numbers. I'd count the KeyKOS family in that group, since philosophically that family can accurately be viewed as implementing a thin virtual machine layer over conventional hardware.
I agree that interposition gives you separate revocability tracking. I'm not sure whether responsibility tracking is accurate; it depends what we mean by "responsibility". If we mean something like logging for audit, mere interposition isn't good enough. We will soon find ourselves trying to invent an "invoked for" relation that crosses subsystem boundaries. Which can be very useful, but has proven damned hard to engineer well. Token exchange seems like a better model, but then the audit support needs to record both the exchanges (for later reconstruction) and the capability identity used to invoke the operation.
Neither critique nor endorsement. Just stray thoughts.
I’ve pretty much wondered how a Granovetter diagram is bootstrapped without arcs. How do Alice, Bob, and Carol initially get introduced?
I’m just trying to understand authority, permission and meta-permission in terms of a graph. Nodes and arcs, etc. I have limited buffer space, but I did try to read section 9.2.