diff --git a/src/route/privateRoute.tsx b/src/route/privateRoute.tsx
new file mode 100644
index 0000000..8391f90
--- /dev/null
+++ b/src/route/privateRoute.tsx
@@ -0,0 +1,22 @@
+import { Navigate, Outlet } from 'react-router-dom'
+import React from 'react'
+
+interface PrivateRouteProps {
+  isAllowed: boolean
+  redirectPath?: string
+  children?: React.ReactNode
+}
+
+const PrivateRoute = ({
+  isAllowed,
+  redirectPath = '/login',
+  children
+}: PrivateRouteProps) => {
+  if (!isAllowed) {
+    return <Navigate to={redirectPath} replace />
+  }
+
+  return children ? children : <Outlet />
+}
+
+export default PrivateRoute
\ No newline at end of file
