← CareerBoost
Pre-launch notice · review required

Privacy and data handling

This technical notice describes the current application design. The business owner must replace or approve it as the legally required privacy notice, identify a privacy contact and controller, and confirm lawful processing and cross-border transfer terms before accepting client data.

What this app stores

Supabase Auth stores email, password hashes and verification state. Candidate profiles store name, LinkedIn URL, target role, region, salary target, languages, nationality/work location, skills, experience summary, and—if you accept and save an AI import—structured work history, education, certifications, achievements, and review notes. The database also stores credit ledger entries, course completion codes, and Paystack order amount, currency, status, provider reference, and email.

When data is sent to another provider

If you choose a career tool and agree to the on-screen notice, the relevant profile fields or interview answer are sent to the configured Google Gemini API to generate a draft. If you select a CV or LinkedIn PDF, DOCX, or supported CSV export, text extraction happens in your browser; the file itself is not uploaded. Email addresses, phone numbers, and links are filtered from imported documents. Extracted career text and the relevant existing profile/vault facts are sent to Gemini only if you separately consent to AI structuring and reconciliation; suggestions are saved in CareerBoost only after you accept and save the profile. For personalized job and learning searches, your target role and location, skills, languages, career summary, recent experience, and any saved target roles, evidence gaps, and certifications are sent to Gemini with Google Search after separate consent. Search results are public-web recommendations, not a guarantee that a listing is active. Google Search grounding may retain prompts and outputs for 30 days under Google's service terms. Private WhatsApp and Telegram chats are not accessed. Interview voice capture is optional and requires separate consent; supported browsers use their speech-recognition service, which may process audio outside CareerBoost. If you request a salary estimate, only your target occupation and location are sent to CareerOneStop for U.S. published wage data, or—if you enable the separate optional consent—to Gemini with Google Search for cited general market research. Salary research is shown only in the active session and is not stored in CareerBoost. Do not submit information you are not authorized to share. Paystack receives email, amount, currency, and an order reference to process a credit purchase. Vercel hosts the app and may process operational request metadata; Supabase hosts identity and database services.

Security and access

Authenticated sessions use Supabase PKCE cookies. Database row-level policies restrict candidate data and credit history to the owner. Server-only credentials perform payments and staff actions. Administrator credit and role changes create an audit record. Payment credits are awarded only after a server-to-server Paystack verification matches the order.

Retention currently implemented

Deleting an account removes the Auth identity and candidate profile, removes course progress, detaches its credit ledger from the identity, and redacts account email from payment orders. Payment references, amounts, currency, and transaction IDs remain for reconciliation. A daily Vercel job is configured to redact failed/expired order email after 30 days and successful order email after 90 days. That schedule only runs after production deployment with CRON_SECRET configured. Database backups may retain data until their backup retention expires.

These time periods need approval against the business’s statutory, tax, refund, dispute, and data-protection duties. Vercel and Supabase may retain their own platform logs under their plan settings; this app does not control those provider retention periods.

Your controls

Signed-in candidates can download a JSON export from the dashboard and request account deletion there. Deletion may be temporarily blocked while a payment is pending to prevent an uncredited payment. For a stuck deletion or payment, contact the service operator using the support contact that must be published before launch.

Before production

The operator must publish a working privacy contact, terms and refund policy, verify provider data-processing terms and regions, enable database backups and conduct a restore drill, set monitoring/alerting, configure SMTP and auth CAPTCHA, and approve the retention windows. No privacy officer or support address was supplied for this build.