@openauditmodel/cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/LICENSE +215 -0
  2. package/README.md +647 -0
  3. package/dist/conformance/src/cli.d.ts +20 -0
  4. package/dist/conformance/src/cli.js +560 -0
  5. package/dist/conformance/src/cli.js.map +1 -0
  6. package/dist/conformance/src/format-errors.d.ts +20 -0
  7. package/dist/conformance/src/format-errors.js +116 -0
  8. package/dist/conformance/src/format-errors.js.map +1 -0
  9. package/dist/conformance/src/integrity/canonicalize.d.ts +25 -0
  10. package/dist/conformance/src/integrity/canonicalize.js +100 -0
  11. package/dist/conformance/src/integrity/canonicalize.js.map +1 -0
  12. package/dist/conformance/src/integrity/digest.d.ts +54 -0
  13. package/dist/conformance/src/integrity/digest.js +126 -0
  14. package/dist/conformance/src/integrity/digest.js.map +1 -0
  15. package/dist/conformance/src/integrity/types.d.ts +86 -0
  16. package/dist/conformance/src/integrity/types.js +36 -0
  17. package/dist/conformance/src/integrity/types.js.map +1 -0
  18. package/dist/conformance/src/integrity/verify-chain.d.ts +23 -0
  19. package/dist/conformance/src/integrity/verify-chain.js +235 -0
  20. package/dist/conformance/src/integrity/verify-chain.js.map +1 -0
  21. package/dist/conformance/src/integrity/verify-event.d.ts +29 -0
  22. package/dist/conformance/src/integrity/verify-event.js +140 -0
  23. package/dist/conformance/src/integrity/verify-event.js.map +1 -0
  24. package/dist/conformance/src/privacy/entropy.d.ts +14 -0
  25. package/dist/conformance/src/privacy/entropy.js +86 -0
  26. package/dist/conformance/src/privacy/entropy.js.map +1 -0
  27. package/dist/conformance/src/privacy/field-names.d.ts +36 -0
  28. package/dist/conformance/src/privacy/field-names.js +121 -0
  29. package/dist/conformance/src/privacy/field-names.js.map +1 -0
  30. package/dist/conformance/src/privacy/lint-event.d.ts +18 -0
  31. package/dist/conformance/src/privacy/lint-event.js +272 -0
  32. package/dist/conformance/src/privacy/lint-event.js.map +1 -0
  33. package/dist/conformance/src/privacy/rules.d.ts +44 -0
  34. package/dist/conformance/src/privacy/rules.js +161 -0
  35. package/dist/conformance/src/privacy/rules.js.map +1 -0
  36. package/dist/conformance/src/privacy/safe-formats.d.ts +32 -0
  37. package/dist/conformance/src/privacy/safe-formats.js +118 -0
  38. package/dist/conformance/src/privacy/safe-formats.js.map +1 -0
  39. package/dist/conformance/src/privacy/size-analysis.d.ts +36 -0
  40. package/dist/conformance/src/privacy/size-analysis.js +87 -0
  41. package/dist/conformance/src/privacy/size-analysis.js.map +1 -0
  42. package/dist/conformance/src/privacy/token-patterns.d.ts +24 -0
  43. package/dist/conformance/src/privacy/token-patterns.js +126 -0
  44. package/dist/conformance/src/privacy/token-patterns.js.map +1 -0
  45. package/dist/conformance/src/privacy/traverse.d.ts +33 -0
  46. package/dist/conformance/src/privacy/traverse.js +61 -0
  47. package/dist/conformance/src/privacy/traverse.js.map +1 -0
  48. package/dist/conformance/src/privacy/types.d.ts +58 -0
  49. package/dist/conformance/src/privacy/types.js +32 -0
  50. package/dist/conformance/src/privacy/types.js.map +1 -0
  51. package/dist/conformance/src/privacy/url-analysis.d.ts +40 -0
  52. package/dist/conformance/src/privacy/url-analysis.js +148 -0
  53. package/dist/conformance/src/privacy/url-analysis.js.map +1 -0
  54. package/dist/conformance/src/profiles/check-profile.d.ts +22 -0
  55. package/dist/conformance/src/profiles/check-profile.js +72 -0
  56. package/dist/conformance/src/profiles/check-profile.js.map +1 -0
  57. package/dist/conformance/src/profiles/evaluate-rule.d.ts +27 -0
  58. package/dist/conformance/src/profiles/evaluate-rule.js +87 -0
  59. package/dist/conformance/src/profiles/evaluate-rule.js.map +1 -0
  60. package/dist/conformance/src/profiles/load-profile.d.ts +30 -0
  61. package/dist/conformance/src/profiles/load-profile.js +95 -0
  62. package/dist/conformance/src/profiles/load-profile.js.map +1 -0
  63. package/dist/conformance/src/profiles/resolve-pointer.d.ts +44 -0
  64. package/dist/conformance/src/profiles/resolve-pointer.js +123 -0
  65. package/dist/conformance/src/profiles/resolve-pointer.js.map +1 -0
  66. package/dist/conformance/src/profiles/select-rules.d.ts +13 -0
  67. package/dist/conformance/src/profiles/select-rules.js +42 -0
  68. package/dist/conformance/src/profiles/select-rules.js.map +1 -0
  69. package/dist/conformance/src/profiles/types.d.ts +101 -0
  70. package/dist/conformance/src/profiles/types.js +31 -0
  71. package/dist/conformance/src/profiles/types.js.map +1 -0
  72. package/dist/conformance/src/profiles/validate-profile-definition.d.ts +12 -0
  73. package/dist/conformance/src/profiles/validate-profile-definition.js +47 -0
  74. package/dist/conformance/src/profiles/validate-profile-definition.js.map +1 -0
  75. package/dist/conformance/src/sources.d.ts +53 -0
  76. package/dist/conformance/src/sources.js +153 -0
  77. package/dist/conformance/src/sources.js.map +1 -0
  78. package/dist/conformance/src/validate-core.d.ts +30 -0
  79. package/dist/conformance/src/validate-core.js +62 -0
  80. package/dist/conformance/src/validate-core.js.map +1 -0
  81. package/dist/conformance/src/validate.d.ts +34 -0
  82. package/dist/conformance/src/validate.js +62 -0
  83. package/dist/conformance/src/validate.js.map +1 -0
  84. package/dist/conformance/src/validator-interface.d.ts +35 -0
  85. package/dist/conformance/src/validator-interface.js +19 -0
  86. package/dist/conformance/src/validator-interface.js.map +1 -0
  87. package/package.json +85 -0
  88. package/profiles/README.md +201 -0
  89. package/profiles/api-and-integration-management/README.md +271 -0
  90. package/profiles/api-and-integration-management/profile.json +258 -0
  91. package/profiles/backup-and-recovery/README.md +318 -0
  92. package/profiles/backup-and-recovery/profile.json +178 -0
  93. package/profiles/customer-and-account-management/README.md +340 -0
  94. package/profiles/customer-and-account-management/profile.json +237 -0
  95. package/profiles/deployment-and-change-management/README.md +359 -0
  96. package/profiles/deployment-and-change-management/profile.json +298 -0
  97. package/profiles/document-management/README.md +120 -0
  98. package/profiles/document-management/profile.json +170 -0
  99. package/profiles/financial-transaction-management/README.md +339 -0
  100. package/profiles/financial-transaction-management/profile.json +247 -0
  101. package/profiles/identity-and-access-management/README.md +112 -0
  102. package/profiles/identity-and-access-management/profile.json +120 -0
  103. package/profiles/incident-management/README.md +338 -0
  104. package/profiles/incident-management/profile.json +256 -0
  105. package/profiles/message-broker-management/README.md +344 -0
  106. package/profiles/message-broker-management/profile.json +399 -0
  107. package/profiles/profile-definition.schema.json +213 -0
  108. package/profiles/secrets-and-key-management/README.md +331 -0
  109. package/profiles/secrets-and-key-management/profile.json +219 -0
  110. package/schemas/v0.1/audit-event.schema.json +911 -0
  111. package/semantic-conventions/README.md +52 -0
  112. package/semantic-conventions/authentication.md +111 -0
  113. package/semantic-conventions/configuration-and-change.md +122 -0
  114. package/semantic-conventions/correlation-and-tracing.md +387 -0
  115. package/semantic-conventions/data-access.md +115 -0
  116. package/semantic-conventions/event-naming.md +114 -0
  117. package/semantic-conventions/identity-and-access.md +112 -0
  118. package/semantic-conventions/privileged-operations.md +110 -0
  119. package/semantic-conventions/workflow-and-approval.md +109 -0
  120. package/specification/actor-model.md +135 -0
  121. package/specification/approval-and-delegation.md +150 -0
  122. package/specification/authentication.md +116 -0
  123. package/specification/authorization.md +117 -0
  124. package/specification/change-model.md +134 -0
  125. package/specification/delivery.md +136 -0
  126. package/specification/design-principles.md +137 -0
  127. package/specification/event-model.md +387 -0
  128. package/specification/evidence-model.md +109 -0
  129. package/specification/extension-model.md +159 -0
  130. package/specification/integrity.md +314 -0
  131. package/specification/overview.md +172 -0
  132. package/specification/privacy.md +386 -0
  133. package/specification/resource-model.md +116 -0
  134. package/specification/terminology.md +135 -0
@@ -0,0 +1,135 @@
1
+ # Terminology
2
+
3
+ **Specification version: 0.1 · Status: Experimental · This document: Normative**
4
+
5
+ ## 1. Normative keywords
6
+
7
+ The key words **MUST**, **MUST NOT**, **REQUIRED**, **SHALL**, **SHALL NOT**, **SHOULD**,
8
+ **SHOULD NOT**, **RECOMMENDED**, **NOT RECOMMENDED**, **MAY** and **OPTIONAL** in this specification
9
+ are to be interpreted as described in RFC 2119 and RFC 8174.
10
+
11
+ These words are normative **only when they appear in capital letters**. The same words in lower case
12
+ carry their ordinary English meaning and impose no requirement. A sentence such as "an implementation
13
+ should usually record the reason" is guidance; "an implementation SHOULD record the reason" is a
14
+ normative recommendation.
15
+
16
+ Normative keywords apply only inside documents labelled **Normative**. In an **Informative** document
17
+ they are illustrative even when capitalized, unless the document states otherwise for a specific
18
+ section.
19
+
20
+ ## 2. Interpretation of the keywords
21
+
22
+ | Keyword | Meaning in this specification |
23
+ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
24
+ | MUST, REQUIRED, SHALL | An absolute requirement. An implementation that violates it is not conforming. |
25
+ | MUST NOT, SHALL NOT | An absolute prohibition. |
26
+ | SHOULD, RECOMMENDED | There may exist valid reasons to ignore this, but the full implications must be understood and weighed before doing so. |
27
+ | SHOULD NOT, NOT RECOMMENDED | There may exist valid reasons to do this anyway, but the full implications must be understood and weighed before doing so. |
28
+ | MAY, OPTIONAL | Genuinely optional. An implementation that omits it is conforming, and one that includes it is conforming. |
29
+
30
+ A consumer MUST NOT require an OPTIONAL field to be present, and MUST NOT fail on an OPTIONAL field
31
+ it does not use.
32
+
33
+ ## 3. Vocabulary
34
+
35
+ ### 3.1 Core concepts
36
+
37
+ **Audit event** — A structured record of a single auditable operation, describing who performed it,
38
+ what it acted upon, what the result was, and the context needed to review it later. Defined by
39
+ [event-model.md](event-model.md).
40
+
41
+ **Auditable operation** — An operation whose occurrence is significant to security, accountability,
42
+ governance or dispute resolution, independent of whether it succeeded.
43
+
44
+ **Core model** — The fields defined by this specification and enforced by the canonical schema.
45
+ Universal across industries, jurisdictions and architectures.
46
+
47
+ **Core object** — A top-level object defined by the core model, such as `event`, `actor` or
48
+ `application`. Core objects reject unknown properties.
49
+
50
+ **Canonical schema** — The JSON Schema document that machine-verifies the core model, identified by
51
+ `https://openauditmodel.org/schemas/audit-event/0.1/schema.json`.
52
+
53
+ ### 3.2 Participants
54
+
55
+ **Principal** — Any entity that can act or be acted on behalf of: a person, a service, an automated
56
+ system or an external party. Represented by the shared shape used for `actor` and `subject`.
57
+
58
+ **Actor** — The principal that **technically performed** the operation. Always present.
59
+
60
+ **Subject** — The principal **on whose behalf** the operation was performed, when that differs from
61
+ the actor. Never the target of the operation. See [actor-model.md](actor-model.md).
62
+
63
+ **Resource** — The thing the operation **acted upon**. See [resource-model.md](resource-model.md).
64
+
65
+ **Producer** — The application that creates and emits audit events. Described by `application`.
66
+
67
+ **Collector** — Any component that receives, buffers, enriches or forwards events between a producer
68
+ and a consumer. A collector is not the producer, and MUST NOT be described in `application`.
69
+
70
+ **Consumer** — Any system that reads audit events: a store, an analysis pipeline, a review tool, an
71
+ export job.
72
+
73
+ ### 3.3 Context
74
+
75
+ **Authentication context** — Evidence of _how the actor proved its identity_. See
76
+ [authentication.md](authentication.md).
77
+
78
+ **Authorization context** — The _policy decision_ that permitted or denied the operation. See
79
+ [authorization.md](authorization.md).
80
+
81
+ **Approval context** — A _decision made by one or more principals_, usually humans, that the
82
+ operation may proceed. See [approval-and-delegation.md](approval-and-delegation.md).
83
+
84
+ **Delegation** — The transfer of authority from a subject to an actor.
85
+
86
+ **Evidence** — A reference to material that supports the event, held in its own system. Evidence is
87
+ referenced, never embedded. See [evidence-model.md](evidence-model.md).
88
+
89
+ **Control category** — A regulation-neutral label describing the kind of control an event provides
90
+ evidence for, such as `privileged-access`. Control categories are not regulation identifiers.
91
+
92
+ ### 3.4 Extension points
93
+
94
+ **Metadata** — Domain-specific audit interpretation data with no core representation, carried in
95
+ `metadata`. Keys are plain names.
96
+
97
+ **Extension** — Vendor-specific or domain-specific data carried in `extensions` under a
98
+ reverse-domain namespaced key. See [extension-model.md](extension-model.md).
99
+
100
+ **Profile** — An optional, stricter set of requirements for a specific domain, layered on top of the
101
+ core model. A profile MAY require fields the core model leaves optional; it MUST NOT relax the core.
102
+ See [profiles/](../profiles/).
103
+
104
+ **Semantic convention** — A recommended vocabulary or naming rule that makes independently produced
105
+ events comparable. See [semantic-conventions/](../semantic-conventions/).
106
+
107
+ ### 3.5 Vocabularies
108
+
109
+ **Closed vocabulary** — A fixed set of values enforced by the canonical schema through `enum`. A
110
+ value outside the set makes the event invalid.
111
+
112
+ **Open vocabulary** — A set of RECOMMENDED values that the schema constrains only in form, not in
113
+ membership. Producers MAY use values outside the recommended set. Open vocabularies exist where the
114
+ value space genuinely varies between organizations, such as resource types and data classifications.
115
+
116
+ ### 3.6 Integrity
117
+
118
+ **Tamper-evident** — A property of data that makes unauthorized alteration **detectable**. This
119
+ specification uses only this term.
120
+
121
+ **Immutable** — Deliberately **not** used for event-level or SDK-level guarantees. An audit event
122
+ model cannot make anything immutable; only a storage system can. See [integrity.md](integrity.md).
123
+
124
+ **Canonicalization** — Producing a deterministic byte representation of an event so that a hash or
125
+ signature over it is reproducible. RFC 8785 is RECOMMENDED.
126
+
127
+ **Chain** — An ordered sequence of events linked by `integrity.previousHash`, so that removal or
128
+ alteration of a member becomes detectable. Chains may be per instance, per partition or per batch.
129
+
130
+ ## 4. Notation
131
+
132
+ - Field paths are written as JSON Pointers or dotted paths: `/event/outcome` or `event.outcome`.
133
+ - Code blocks labelled `json` are examples, and are informative.
134
+ - "The schema" without qualification means the canonical schema for the specification version of the
135
+ document.