diff --git a/doc/wildcard_matching.md b/doc/wildcard_matching.md
new file mode 100644
index 000000000..f86ee6dd1
--- /dev/null
+++ b/doc/wildcard_matching.md
@@ -0,0 +1,26 @@
+### Matching rules
+
+* An empty pattern "" will match any signal.
+* A pattern without any asterisk - a path in other words - matches either a signal directly or any signal that is a direct or indirect child of the branch with that path.
+* An asterisk "`*`" at the end of a pattern will match any signal that is a direct child of the branch(es) identified by the preceding pattern.
+* A double asterisk "`**`" at the end of a pattern matches any signal that is a direct or indirect child of the branch(es) identified by the preceding pattern.
+* An asterisk "`*`" in the middle (or beginning) of a pattern matches any signal that has a branch (of any name) at that position.
+* A double asterisk "`**`" in the middle (or beginning) of a pattern matches any signal that has zero or more branches at that position.
+
+### Examples
+
+| Path | Matches |
+|---------------------|--------------------------------------|
+| `""` | Everything |
+| `"Vehicle"` | Everything starting with `Vehicle` |
+| `"Vehicle.Cabin.Sunroof"` | `Vehicle.Cabin.Sunroof.Position`
`Vehicle.Cabin.Sunroof.Shade.Position`
`Vehicle.Cabin.Sunroof.Shade.Switch`
`Vehicle.Cabin.Sunroof.Switch` |
+| `"Vehicle.Cabin.Sunroof.**"` | `Vehicle.Cabin.Sunroof.Position`
`Vehicle.Cabin.Sunroof.Shade.Position`
`Vehicle.Cabin.Sunroof.Shade.Switch`
`Vehicle.Cabin.Sunroof.Switch` |
+| `"Vehicle.Cabin.Sunroof.*"` | `Vehicle.Cabin.Sunroof.Position`
`Vehicle.Cabin.Sunroof.Switch` |
+| `"Vehicle.Cabin.Sunroof.*.Position"` | `Vehicle.Cabin.Sunroof.Shade.Position` |
+| `"**.Sunroof.*.Position"` | `Vehicle.Cabin.Sunroof.Shade.Position` |
+| `"*.*.*.*.Position"` | `Vehicle.Cabin.Sunroof.Shade.Position` |
+| `"Vehicle.Cabin.Sunroof.**.Position"` | `Vehicle.Cabin.Sunroof.Position`
`Vehicle.Cabin.Sunroof.Shade.Position` |
+| `"**.Sunroof"` | Nothing |
+| `"**.Sunroof.**"` | `Vehicle.Cabin.Sunroof.Position`
`Vehicle.Cabin.Sunroof.Shade.Position`
`Vehicle.Cabin.Sunroof.Shade.Switch`
`Vehicle.Cabin.Sunroof.Switch` |
+| `"*.Sunroof"` | Nothing|
+| `"Sunroof"` | Nothing|