data-cap
    Preparing search index...

    Variable noRawExternalIoConst

    noRawExternalIo: RuleModuleWithName<
        "noRawExternalIo",
        [RuleOptions],
        unknown,
        RuleListener,
    > = ...

    Flags a direct call to a global I/O function (fetch by default) written anywhere other than inside a capability's own execute/subscribe, so external data access always goes through a declared, analyzable capability operation instead of being scattered through application code.

    Exact matching rule, deliberately kept purely structural. A fetch(...) is exempt the moment it is lexically inside an execute/subscribe function of an operation declared in a buildData/createData call's getters/mutators/subscriptions section -- position alone. There is no cross-referencing against declared endpoints metadata, no URL matching, and no inspection of what the operation's body actually does: an operation body is opaque to data-cap's static analysis by design (AGENTS.md invariant 6), and a rule that peeked inside one would be the first thing in this package to break that.

    The consequence is worth stating plainly: this rule proves where a call is written, never that the capability declaring it is honest about what it fetches. It is a structural convention check, not a security control.

    options.functions names global identifiers, so the rule never learns about a specific HTTP client library; options.allow exempts whole files by glob, for a project's own transport layer or scripts.