diff --git a/src/Modules/Identity/Modules.Identity.Contracts/Services/ICurrentUserService.cs b/src/Modules/Identity/Modules.Identity.Contracts/Services/ICurrentUserService.cs
new file mode 100644
index 0000000000..b32c14fe53
--- /dev/null
+++ b/src/Modules/Identity/Modules.Identity.Contracts/Services/ICurrentUserService.cs
@@ -0,0 +1,12 @@
+using System.Security.Claims;
+using FSH.Framework.Core.Context;
+
+namespace FSH.Modules.Identity.Contracts.Services;
+
+///
+/// Service interface for managing the current user context.
+/// Combines user identity access with initialization capabilities.
+///
+public interface ICurrentUserService : ICurrentUser, ICurrentUserInitializer
+{
+}
diff --git a/src/Modules/Identity/Modules.Identity.Contracts/Services/IRequestContextService.cs b/src/Modules/Identity/Modules.Identity.Contracts/Services/IRequestContextService.cs
new file mode 100644
index 0000000000..3bf9966703
--- /dev/null
+++ b/src/Modules/Identity/Modules.Identity.Contracts/Services/IRequestContextService.cs
@@ -0,0 +1,11 @@
+using FSH.Framework.Core.Context;
+
+namespace FSH.Modules.Identity.Contracts.Services;
+
+///
+/// Service interface for accessing HTTP request context information.
+/// Provides request metadata for auditing, logging, and other cross-cutting concerns.
+///
+public interface IRequestContextService : IRequestContext
+{
+}
diff --git a/src/Modules/Identity/Modules.Identity/IdentityModule.cs b/src/Modules/Identity/Modules.Identity/IdentityModule.cs
index da3ea97e04..061107b5b5 100644
--- a/src/Modules/Identity/Modules.Identity/IdentityModule.cs
+++ b/src/Modules/Identity/Modules.Identity/IdentityModule.cs
@@ -73,10 +73,12 @@ public void ConfigureServices(IHostApplicationBuilder builder)
ArgumentNullException.ThrowIfNull(builder);
var services = builder.Services;
services.AddSingleton();
- services.AddScoped();
- services.AddScoped();
+ services.AddScoped();
+ services.AddScoped(sp => sp.GetRequiredService());
+ services.AddScoped(sp => sp.GetRequiredService());
+ services.AddScoped();
+ services.AddScoped(sp => sp.GetRequiredService());
services.AddScoped();
- services.AddScoped(sp => (ICurrentUserInitializer)sp.GetRequiredService());
// User services - focused single-responsibility services
services.AddTransient();
diff --git a/src/Modules/Identity/Modules.Identity/Services/CurrentUserService.cs b/src/Modules/Identity/Modules.Identity/Services/CurrentUserService.cs
index 888d251e57..2fa5ff12d3 100644
--- a/src/Modules/Identity/Modules.Identity/Services/CurrentUserService.cs
+++ b/src/Modules/Identity/Modules.Identity/Services/CurrentUserService.cs
@@ -1,11 +1,12 @@
using FSH.Framework.Core.Context;
using FSH.Framework.Core.Exceptions;
using FSH.Framework.Shared.Identity.Claims;
+using FSH.Modules.Identity.Contracts.Services;
using System.Security.Claims;
namespace FSH.Modules.Identity.Services;
-public class CurrentUserService : ICurrentUser, ICurrentUserInitializer
+internal sealed class CurrentUserService : ICurrentUserService
{
private ClaimsPrincipal? _user;
diff --git a/src/Modules/Identity/Modules.Identity/Services/RequestContextService.cs b/src/Modules/Identity/Modules.Identity/Services/RequestContextService.cs
index 8184f2b112..a59b399660 100644
--- a/src/Modules/Identity/Modules.Identity/Services/RequestContextService.cs
+++ b/src/Modules/Identity/Modules.Identity/Services/RequestContextService.cs
@@ -1,5 +1,6 @@
using FSH.Framework.Core.Context;
using FSH.Framework.Web.Origin;
+using FSH.Modules.Identity.Contracts.Services;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Options;
@@ -9,7 +10,7 @@ namespace FSH.Modules.Identity.Services;
/// Provides HTTP request context information through an abstraction.
/// This allows handlers to access request metadata without direct ASP.NET Core dependencies.
///
-public sealed class RequestContextService : IRequestContext
+internal sealed class RequestContextService : IRequestContextService
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly Uri? _originUrl;