diff --git a/docs/user_guides/services/tfm_sst_integration_guide.md b/docs/user_guides/services/tfm_sst_integration_guide.md
index 3a91363..da1cbf5 100755
--- a/docs/user_guides/services/tfm_sst_integration_guide.md
+++ b/docs/user_guides/services/tfm_sst_integration_guide.md
@@ -100,14 +100,14 @@
 
 The SST service exposes the following PSA interfaces:
 
- - `enum psa_sst_err_t psa_sst_create(uint32_t asset_uuid, const uint8_t* token, uint32_t token_size)`
- - `enum psa_sst_err_t psa_sst_get_info(uint32_t asset_uuid, const uint8_t* token, uint32_t token_size, struct psa_sst_asset_info_t *info)`
- - `enum psa_sst_err_t psa_sst_get_attributes(uint32_t asset_uuid, const uint8_t* token, uint32_t token_size, struct psa_sst_asset_attrs_t *attrs)`
- - `enum psa_sst_err_t psa_sst_set_attributes(uint32_t asset_uuid, const uint8_t* token, uint32_t token_size, const struct psa_sst_asset_attrs_t *attrs)`
- - `enum psa_sst_err_t psa_sst_read(uint32_t asset_uuid, const uint8_t* token, uint32_t token_size, uint32_t size, uint32_t offset, uint8_t *data)`
- - `enum psa_sst_err_t psa_sst_reference_read(int32_t  client_id, uint32_t asset_uuid, const uint8_t* token, uint32_t token_size, uint32_t size, uint32_t offset, uint8_t *data);`
- - `enum psa_sst_err_t psa_sst_write(uint32_t asset_uuid, const uint8_t* token, uint32_t token_size, uint32_t size, uint32_t offset, const uint8_t *data)`
- - `enum psa_sst_err_t psa_sst_delete(uint32_t asset_uuid, const uint8_t* token, uint32_t token_size)`
+ - `enum psa_sst_err_t psa_sst_create(uint32_t asset_uuid, const uint8_t *token, uint32_t token_size)`
+ - `enum psa_sst_err_t psa_sst_get_info(uint32_t asset_uuid, const uint8_t *token, uint32_t token_size, struct psa_sst_asset_info_t *info)`
+ - `enum psa_sst_err_t psa_sst_get_attributes(uint32_t asset_uuid, const uint8_t *token, uint32_t token_size, struct psa_sst_asset_attrs_t *attrs)`
+ - `enum psa_sst_err_t psa_sst_set_attributes(uint32_t asset_uuid, const uint8_t *token, uint32_t token_size, const struct psa_sst_asset_attrs_t *attrs)`
+ - `enum psa_sst_err_t psa_sst_read(uint32_t asset_uuid, const uint8_t *token, uint32_t token_size, uint32_t size, uint32_t offset, uint8_t *data)`
+ - `enum psa_sst_err_t psa_sst_reference_read(int32_t  client_id, uint32_t asset_uuid, const uint8_t *token, uint32_t token_size, uint32_t size, uint32_t offset, uint8_t *data);`
+ - `enum psa_sst_err_t psa_sst_write(uint32_t asset_uuid, const uint8_t *token, uint32_t token_size, uint32_t size, uint32_t offset, const uint8_t *data)`
+ - `enum psa_sst_err_t psa_sst_delete(uint32_t asset_uuid, const uint8_t *token, uint32_t token_size)`
 
 These PSA interfaces and types are defined and documented
 in `interface/include/psa_sst_api.h`, `interface/include/psa_sst_asset_defs.h`
diff --git a/interface/include/psa_sst_api.h b/interface/include/psa_sst_api.h
index 14944ea..dee3022 100644
--- a/interface/include/psa_sst_api.h
+++ b/interface/include/psa_sst_api.h
@@ -69,7 +69,7 @@
  *         Otherwise, error code as specified in \ref psa_sst_err_t
  */
 enum psa_sst_err_t  psa_sst_create(uint32_t asset_uuid,
-                                   const uint8_t* token,
+                                   const uint8_t *token,
                                    uint32_t token_size);
 
 /**
@@ -90,7 +90,7 @@
  * \return Returns error code as specified in \ref psa_sst_err_t
  */
 enum psa_sst_err_t psa_sst_get_info(uint32_t asset_uuid,
-                                    const uint8_t* token,
+                                    const uint8_t *token,
                                     uint32_t token_size,
                                     struct psa_sst_asset_info_t *info);
 
@@ -112,7 +112,7 @@
  * \return Returns error code as specified in \ref psa_sst_err_t
  */
 enum psa_sst_err_t psa_sst_get_attributes(uint32_t asset_uuid,
-                                          const uint8_t* token,
+                                          const uint8_t *token,
                                           uint32_t token_size,
                                           struct psa_sst_asset_attrs_t *attrs);
 
@@ -135,7 +135,7 @@
  */
 enum psa_sst_err_t psa_sst_set_attributes(
                                      uint32_t asset_uuid,
-                                     const uint8_t* token,
+                                     const uint8_t *token,
                                      uint32_t token_size,
                                      const struct psa_sst_asset_attrs_t *attrs);
 
@@ -158,7 +158,7 @@
  * \return Returns error code as specified in \ref psa_sst_err_t
  */
 enum psa_sst_err_t psa_sst_read(uint32_t asset_uuid,
-                                const uint8_t* token,
+                                const uint8_t *token,
                                 uint32_t token_size,
                                 uint32_t size,
                                 uint32_t offset,
@@ -189,7 +189,7 @@
  */
 enum psa_sst_err_t psa_sst_reference_read(int32_t  client_id,
                                           uint32_t asset_uuid,
-                                          const uint8_t* token,
+                                          const uint8_t *token,
                                           uint32_t token_size,
                                           uint32_t size,
                                           uint32_t offset,
@@ -215,7 +215,7 @@
  * \return Returns error code as specified in \ref psa_sst_err_t
  */
 enum psa_sst_err_t psa_sst_write(uint32_t asset_uuid,
-                                 const uint8_t* token,
+                                 const uint8_t *token,
                                  uint32_t token_size,
                                  uint32_t size,
                                  uint32_t offset,
@@ -237,7 +237,7 @@
  * \return Returns error code as specified in \ref psa_sst_err_t
  */
 enum psa_sst_err_t psa_sst_delete(uint32_t asset_uuid,
-                                  const uint8_t* token,
+                                  const uint8_t *token,
                                   uint32_t token_size);
 
 #ifdef __cplusplus
diff --git a/interface/src/tfm_sst_api.c b/interface/src/tfm_sst_api.c
index 790435f..d9947b4 100644
--- a/interface/src/tfm_sst_api.c
+++ b/interface/src/tfm_sst_api.c
@@ -8,7 +8,7 @@
 #include "tfm_sst_defs.h"
 #include "tfm_ns_lock.h"
 
-enum psa_sst_err_t psa_sst_create(uint32_t asset_uuid, const uint8_t* token,
+enum psa_sst_err_t psa_sst_create(uint32_t asset_uuid, const uint8_t *token,
                                   uint32_t token_size)
 {
     struct tfm_sst_token_t s_token;
@@ -25,7 +25,7 @@
 }
 
 enum psa_sst_err_t psa_sst_get_info(uint32_t asset_uuid,
-                                    const uint8_t* token,
+                                    const uint8_t *token,
                                     uint32_t token_size,
                                     struct psa_sst_asset_info_t *info)
 {
@@ -43,7 +43,7 @@
 }
 
 enum psa_sst_err_t psa_sst_get_attributes(uint32_t asset_uuid,
-                                          const uint8_t* token,
+                                          const uint8_t *token,
                                           uint32_t token_size,
                                           struct psa_sst_asset_attrs_t *attrs)
 {
@@ -61,7 +61,7 @@
 }
 
 enum psa_sst_err_t psa_sst_set_attributes(uint32_t asset_uuid,
-                                      const uint8_t* token,
+                                      const uint8_t *token,
                                       uint32_t token_size,
                                       const struct psa_sst_asset_attrs_t *attrs)
 {
@@ -79,7 +79,7 @@
 }
 
 enum psa_sst_err_t psa_sst_read(uint32_t asset_uuid,
-                                const uint8_t* token,
+                                const uint8_t *token,
                                 uint32_t token_size,
                                 uint32_t size,
                                 uint32_t offset,
@@ -105,7 +105,7 @@
 }
 
 enum psa_sst_err_t psa_sst_write(uint32_t asset_uuid,
-                                 const uint8_t* token,
+                                 const uint8_t *token,
                                  uint32_t token_size,
                                  uint32_t size,
                                  uint32_t offset,
@@ -131,7 +131,7 @@
 }
 
 enum psa_sst_err_t psa_sst_delete(uint32_t asset_uuid,
-                                  const uint8_t* token,
+                                  const uint8_t *token,
                                   uint32_t token_size)
 {
     struct tfm_sst_token_t s_token;
