Platform / Security & Compliance
Security & Compliance

Security built for sensitive data

Interpreting agencies handle protected health information, legal communications, and student records. IMP's security architecture was designed for these environments from day one — not bolted on later.

Security Settings Screenshot 1200 × 840 recommended
Security Layers

Six layers of protection

IMP doesn't rely on a single security mechanism. Multiple overlapping layers ensure that data stays protected at every level of the stack.

Row Level Security

Postgres RLS policies on all 22+ tables ensure users can only access data belonging to their agency. Enforced at the database level — no application-layer bypass possible.

Role-Based Access

Three roles (Admin, Interpreter, Client) with distinct page access. Each portal shows only the data and actions relevant to that role.

JWT Verification

Edge functions verify JSON Web Tokens on every API request. Expired, tampered, or missing tokens are rejected before reaching any data.

XSS Sanitization

All user-submitted content is sanitized through an esc() function before rendering. Prevents cross-site scripting attacks from any input field.

Credential Masking

API keys, SMTP passwords, and integration credentials are masked in the UI and stored securely. Never displayed in full after initial entry.

Webhook Verification

Stripe webhook signatures are verified on every event to prevent spoofed payment notifications. Invalid signatures are rejected and logged.

Row Level Security

Database-level isolation on every table

RLS policies are enforced by Postgres itself — not by application code. This means even if there were a bug in the frontend, a user could never query another agency's data. The database simply won't return it.

Every one of IMP's 22+ tables has RLS policies active. When multi-tenancy ships, this same mechanism ensures complete tenant isolation.

jobs table RLS Active
JobAccountAgency
JOB-0412Johns HopkinsYour Agency
JOB-0413FCPSYour Agency
JOB-0414KaiserOther Agency
JOB-0415VA HospitalOther Agency
  • Active on all 22+ tables: jobs, members, accounts, invoices, etc.
  • Enforced at database level — can't be bypassed by application code
  • Foundation for multi-tenant isolation
RLS Policies Screenshot 960 × 760
Role-Based Access

Three roles, three experiences

Each user role in IMP has a dedicated portal with access only to the pages and actions they need. Admins manage everything. Interpreters see their jobs and pay. Clients see their invoices and request interpreters. No overlap, no leakage.

Admin

Full platform access

DashboardJobsMembersAccountsInvoicesReportsCalendarSettings

Interpreter

Jobs, schedule, pay

Available JobsMy ScheduleAvailabilityPay ScheduleHistoryResources

Client

Invoices, payments

InvoicesPaymentsRequest InterpreterJob HistoryAccount
Role Management Screenshot 960 × 760
HIPAA & FERPA Training

Compliance training built into the interpreter portal

Interpreters working in healthcare need HIPAA training. Those in education need FERPA awareness. Instead of managing this externally, IMP embeds training modules directly into the interpreter portal's Resources tab.

Interpreters complete training inside the platform — no external links to track, no separate LMS to manage. Modules include fullscreen toggle for focused learning.

When a hospital asks "are your interpreters HIPAA trained?" — the answer is built into the platform, not a separate spreadsheet.

  • HIPAA training module embedded in interpreter portal
  • FERPA training module embedded in interpreter portal
  • Fullscreen toggle for focused learning
  • Resources tab accessible from interpreter portal
Training Modules Screenshot 960 × 760
Audit Log

Every important action, permanently recorded

IMP tracks 10 key actions across the platform: account saved, job broadcasted, interpreter confirmed (both paths), job completed, job cancelled, no-show marked, invoice generated, invoice voided, payment recorded, and billing edited.

Each entry records who did it, what they did, which entity was affected, the details of the change, and when it happened. Fire-and-forget logging ensures the audit system never blocks normal operations.

TimeActorActionType
2 min agoEthan K.Confirmed Maria S. for JOB-0412Confirm
15 min agoSystemInvoice INV-0047 generatedInvoice
1 hr agoKayla D.Broadcasted JOB-0413 to 6 interpretersBroadcast
2 hrs agoEthan K.Voided INV-0045Void
3 hrs agoEthan K.Edited billing for JOB-0410Billing
  • 10 tracked event types across the full lifecycle
  • Actor, action, entity, details, and timestamp
  • Filterable by event type in Settings
  • Fire-and-forget — never breaks app workflow on failure
Audit Log Screenshot 960 × 760
Legal

EULA and Privacy Policy included

IMP includes a full End User License Agreement and Privacy Policy accessible from the platform. Both are linked from the login page and available to all users at any time.

Read EULA Read Privacy Policy

Security you can
show your clients

When they ask about data protection, you'll have answers — built into the platform.

Request a Demo Back to Platform