Welcome to RE-DACT
Your localized workspace for stripping sensitive personal identifiers, Indian regulatory numbers, and financial data using advanced offline NLP and synthetic anonymization.
import React, { useState, Suspense } from 'react'; import { HashRouter, Routes, Route, useNavigate, Navigate } from 'react-router-dom'; import { FileText, FileUp, Clock, LogOut, Loader2, CheckCircle2, Shield, Activity, Lock, Terminal } from 'lucide-react'; import { Header } from './components/Header'; import { Sidebar } from './components/Sidebar'; import { RedactionCard } from './components/RedactionCard'; import { useThemeStore } from './store/theme'; // Lazy loading components for code splitting & bundle reduction const TextRedaction = React.lazy(() => import('./pages/TextRedaction').then(m => ({ default: m.TextRedaction }))); const PDFRedaction = React.lazy(() => import('./pages/PDFRedaction').then(m => ({ default: m.PDFRedaction }))); const History = React.lazy(() => import('./pages/History').then(m => ({ default: m.History }))); const AccountDetails = React.lazy(() => import('./pages/AccountDetails').then(m => ({ default: m.AccountDetails }))); const HowToUse = React.lazy(() => import('./pages/HowToUse').then(m => ({ default: m.HowToUse }))); const AboutUs = React.lazy(() => import('./pages/AboutUs').then(m => ({ default: m.AboutUs }))); const ContactUs = React.lazy(() => import('./pages/ContactUs').then(m => ({ default: m.ContactUs }))); const RegisterPage = React.lazy(() => import('./pages/Register')); const LoginPage = React.lazy(() => import('./pages/Login')); const LandingPage = React.lazy(() => import('./pages/Landing').then(m => ({ default: m.Landing }))); function PageLoader() { return (
Loading Module...
Your localized workspace for stripping sensitive personal identifiers, Indian regulatory numbers, and financial data using advanced offline NLP and synthetic anonymization.