diff --git a/src/caoscrawler/identifiable.py b/src/caoscrawler/identifiable.py
index dff17397a0cd4cc230f0cd4addb2bbd874a54b87..b7be840f722d7484df51f82c3725ba6955b25dc5 100644
--- a/src/caoscrawler/identifiable.py
+++ b/src/caoscrawler/identifiable.py
@@ -63,12 +63,12 @@ class Identifiable():
         if properties is not None and 'name' in [k.lower() for k in properties.keys()]:
             raise ValueError("Please use the separete 'name' keyword instead of the properties "
                              "dict for name")
-        self.record_id = record_id
-        self.path = path
-        self.record_type = record_type
-        self.name = name
+        self._record_id = record_id
+        self._path = path
+        self._record_type = record_type
+        self._name = name
         if name == "":
-            self.name = None
+            self._name = None
         self._properties: dict = {}
         if properties is not None:
             self._properties = properties
@@ -78,6 +78,26 @@ class Identifiable():
         self._representation = sha256(
             self._create_hashable_string(self).encode('utf-8')).hexdigest()
 
+    @property
+    def record_id(self):
+        """Read-only access to the record id. """
+        return self._record_id.copy()
+
+    @property
+    def path(self):
+        """Read-only access to the path. """
+        return self._path.copy()
+
+    @property
+    def name(self):
+        """Read-only access to the name. """
+        return self._name.copy()
+
+    @property
+    def record_type(self):
+        """Read-only access to the record_type. """
+        return self._record_type.copy()
+
     @property
     def properties(self):
         """Read-only access to the properties. """