I have a realtime db all setup and working. The data structure is very simple:
- Item some: info some: other info 
- Item 2 some: info some: other info 
My rules are also super simple:
{
   "rules": {
      ".read":"auth.uid != null",
      ".write":"auth.uid != null"
   }
}
The issue (obviously) is that while I am forcing a user to be authenticated, that's all I am requiring and any user can access all the items in the db.
What I want is a way to limit a user to an item.
something like:
Item1
- some: info
- some: other info
- user_1: auth.uid
- user_2: auth.uid2
Item2
- some: info
- some: other info
- user_1: auth.uid3
- user_2: auth.uid4
I can store that data but I am not sure how to structure my rules to limit that.
My actual json looks like:
{
    "annotations": {
        "8df0309f-dc62-821e-dd65-f0ad46396937": {
            "author": "1OXVKN3Y5Z-11",
            "xfdf": "LONG STRING"
        }
    },
    "complete": false,
    "created_at": "2020-09-01T17:52:25.653Z",
    "field_values": {
        "field_name": {
            "name": "copy",
            "value": "TEsting",
            "widgetID": "e61e3abf-7cdd-7d07-daec-6c3d3a55d667"
        }
    },
    "stamp_count": 0
}
What I plan to implement is:
{
    "annotations": {
        "8df0309f-dc62-821e-dd65-f0ad46396937": {
            "author": "1OXVKN3Y5Z-11",
            "xfdf": "LONG STRING"
        }
    },
    "complete": false,
    "created_at": "2020-09-01T17:52:25.653Z",
    "field_values": {
        "field_name": {
            "name": "copy",
            "value": "TEsting",
            "widgetID": "e61e3abf-7cdd-7d07-daec-6c3d3a55d667"
        }
    },
    "stamp_count": 0,
    "users": [ "CFX4I0PTM9-11", "CFX4I0PTM9-7"]
}
One I implement that json structure, how can I setup rules to support?
 
    