blankfil

QC Suite

Quality-control tools for clinical research in one validated environment.

System policy
21 CFR Part 11 compliantEU GDPR compliantICH E6 (R3) GCP compliant
Authorised useAccess is restricted to authorised personnel. Activity is monitored and recorded; unauthorised access or disclosure may be unlawful.
{{ notice }}

Sign in

Use the credentials issued to your work email address.

{{ err }}
© 2026 Blankfil. All rights reserved.
blankfil QC Suite — Release 1.4.0 (Build 2026.09)

Create an account

A system-generated password will be sent to your work email. You will be asked to change it at first sign-in.

Choose your own password. An administrator reviews every new account before it can sign in.

Your username is created from your work email (the part before the @) and is what other users see on comments, tickets and audit entries.
{{ c.mark }} {{ c.label }}
{{ err }}
Back to sign in

Forgot password

We will email a new system password to the address on the account. You will be asked to change it at next sign-in.

{{ err }}
Back to sign in

Check your email

{{ sentLine }}

SIMULATED DELIVERY — PROTOTYPE ONLY
To     {{ mail.to }}
From   no-reply@blankfil.com
Subj   {{ mail.subject }}
Username: {{ mail.user }}
Password: {{ mail.pw }}
This password must be changed at first sign-in.
Action required

Change your password

You signed in with a system-generated password. Set a password of your own to continue.

{{ r.mark }}  {{ r.label }}
{{ err }}
Workspace

Quality-control tools

Signed in as {{ userName }} — {{ userRole }}
Last sign-in {{ lastLogin }}
Sampling
Available
AI QC Sampler

Upload a record extract, set a sample percentage, and receive the same file back with a randomly selected sample flagged for checking.

Integrity
Available
AI Integrity Check

Upload a file returned after sampling. The tool re-derives the selection from its recorded seed and confirms whether records, values or flags were altered.

Oversight
Live
QC Tracker

Review of records flagged in the sampler — assignment, outcome, comments and progress by project.

Documents
Live
AI Document QC

Upload a document, share it with reviewer accounts and collect page-anchored comments with a full audit trail.

Recent sampling runs

RunFileRecordsRateFlaggedSeed
{{ h.ts }}{{ h.file }}{{ h.total }}{{ h.pct }}%{{ h.marked }}{{ h.seed }}
Tool

AI QC Sampler

Random selection against the total record count. The uploaded file is returned unchanged except for one appended column flagging the selected records.

FLOW
STEP {{ s.n }}
{{ s.label }}

1 — Record extract

Excel or CSV. You will be asked about headers and the first data row after upload.
{{ sampleErr }}
FILE
{{ fileName }}
RECORDS
{{ total }}
COLUMNS
{{ colCount }}
This workbook has {{ sheetCount }} sheets. Sample which?
{{ sheetSummary }}
Does the file contain headers?
{{ startRowLabel }} The same answer applies to every sheet being sampled.

2 — Sampling parameters

RECORDS TO BE FLAGGED
{{ sampleCount }} of {{ total }}
Appended column: QC Sample Status — flagged records read To be checked. All other columns, values and row order are preserved.
Output
Ready
{{ result.name }}
FLAGGED
{{ result.marked }}
NOT FLAGGED
{{ result.rest }}
SEED
{{ result.seed }}
{{ stampNote }}
Held in temporary tool storage until downloaded, then deleted.
Storage
{{ deleted.name }}

Downloaded and deleted from tool storage. Nothing from this run is retained beyond the audit log entry. Process the file again if you need another copy.

Audit log

Retained for the life of the account
{{ l.d }}{{ l.t }}{{ l.m }}
No entries match the filters. {{ logTotal }} entries recorded.
{{ logCount }} of {{ logTotal }} entries shown.

Run history

TimeRateFlaggedStrata
{{ h.ts }}{{ h.pct }}%{{ h.marked }}{{ h.strata }}
Tool

AI Integrity Check

Confirms that a file returned after sampling is the file this workspace produced.

File to check

Choose the file that needs to be checked for integrity.
{{ verifyName }}
{{ verifyErr }}
{{ runsRecorded }} sampling run fingerprint(s) stored for this account and available to check against, including runs from earlier sessions. Fingerprints are kept for 3 years from the run date.
Result
Passed Failed
No manipulation detected

The file matches run {{ verify.runId }} of {{ verify.when }} exactly. Records, columns, values and the flagged sample all reproduce from seed {{ verify.seed }}.

File differs from the recorded run

Checked against the closest matching run — {{ verify.when }}, seed {{ verify.seed }}. The failed checks below show what changed after download.

{{ c.label }}
{{ c.mark }}
{{ c.detail }}
Administration

User accounts

Deactivating suspends an account; revoking withdraws access entirely. Either ends the user's live session within seconds and blocks further sign-in. Plan changes take effect immediately. Administrator accounts cannot be edited here. Every action is written to the audit log with your account.

ACCOUNTS
{{ userCount }}
ACTIVE
{{ activeCount }}
PREMIUM
{{ premiumCount }}
REVOKED
{{ revokedCount }}
UserRoleAccountRuns this monthLast sign-inStatusActions
{{ a.name }} @{{ a.username }}
{{ a.email }}
{{ a.role }} {{ a.plan }} {{ a.runs }} {{ a.lastLogin }} {{ a.status }}
Administrator — not editable
{{ matchCount }} of {{ userCount }} accounts shown. Audit entries are retained for the life of the account.
Plans

Ownership transfer requests

Team Owners ask for a transfer from Plan & billing. Check it with the company, then open Review to reassign ownership.

OwnerProposed new OwnerReasonRequestedActions
{{ q.owner }} {{ q.to }} {{ q.reason }} {{ q.when }}
No open requests.
GDPR

Account deletion requests

Act within 15 days. Approving deletes the person’s documents, team seats and account details and ends any paid plan. Invoices are kept for 8 years for GST. Refusing needs a lawful reason, which is recorded.

UserReasonRequestedAct byActions
{{ q.user }} {{ q.reason }} {{ q.when }} {{ q.due }}
No open requests.
Support

Issue tickets

Issues raised by users from their profile. Open a ticket to reply in the conversation and set its status.

TicketRaised byAreaSeverityLast activityStatusActions
{{ t.num }}
{{ t.subject }}
{{ t.by }} {{ t.area }} {{ t.severity }} {{ t.last }} {{ t.status }}
No tickets have been raised.
Audit log

{{ logUserName }}

{{ logUserEmail }} — retained for the life of the account
DateTimeAction
{{ e.d }}{{ e.t }}{{ e.m }}
No audit entries match the filters. {{ logUserTotal }} entries recorded.
Tool

QC Tracker

Records flagged To be checked in the AI QC Sampler and sent here for review.

Nothing assigned

No projects are assigned to this account yet. Run a sample in the AI QC Sampler and use Send to QC Tracker on the result, or ask the sender to add your address to a project.

PROGRESS
{{ proj.done }}/{{ proj.total }}
{{ proj.barPct }}% checked · {{ proj.open }} open
OUTCOMES
Pass {{ proj.pass }} Fail {{ proj.fail }} N/A {{ proj.na }} Not done {{ proj.notDone }} Open {{ proj.open }}
DUE
{{ proj.due }}
SENT BY
{{ proj.sentByName }} · {{ proj.sentAt }}
{{ proj.runId }} · {{ proj.file }}
Sheet Row {{ h }} Outcome Comment Evidence Assigned to
{{ r.sheet }} {{ r.n }}
{{ c.v }}
i
Comment required for a Fail
No records in this project are assigned to you.
No records match the filters. {{ projTotalRows }} record(s) in view.
{{ projShownRows }} of {{ projTotalRows }} record(s) shown.
{{ attachErr }}
A record counts as done once its outcome is Pass or N/A; a Fail also needs a comment. Open and Not done stay outstanding. Changes save as you make them and the completed project is stamped in the audit log.
Tool

AI Document QC

Upload a document, share it with reviewer accounts, and collect page-anchored comments in one place. Every upload, share, comment and edit is written to the document's audit trail.

{{ docQuota }}
Your review is complete Final
{{ docErr }}
DocumentFormatYour roleReviewersCommentsDueActions
{{ d.name }}
{{ d.meta }}
{{ d.typeLabel }} {{ d.role }}
{{ d.reviewersLabel }}
{{ d.statusLabel }}
{{ d.commentsLabel }} {{ d.dueLabel }}
No documents yet. Upload up to {{ docLimitLabel }} at a time, then share with the accounts that should review them.
No documents match the filters.
Supported formats: PDF, Word, Excel, PowerPoint, JPG, PNG, GIF, WebP, TIFF, CSV and plain text. PDF, image, Word (.docx) and Excel (.xlsx/.csv) files render in the viewer; PowerPoint and the older .doc/.xls formats open as a review surface with the same commenting and anchoring.
DOCUMENT
{{ cur.name }}
{{ cur.meta }}
COMMENTS
{{ dash.total }}
RESPONDED
{{ dash.answered }}/{{ dash.total }}
{{ dash.openLabel }}
REVIEW DUE
{{ dash.due }}
{{ dash.dueNote }}
REVIEW STATUS
{{ dash.reviewLabel }}
{{ r.email }} {{ r.status }}
Not shared yet
of {{ docPages }}
%
{{ viewerHint }}
{{ grid.selLabel }}
{{ grid.formulaLabel }}
{{ c.label }} ▾
{{ grid.headerRowNum }} {{ c.v }}
{{ r.n }} {{ c.pinNum }} {{ c.v }}
{{ grid.emptyNote }}
Reading the workbook…
{{ sheetErr }}
{{ grid.statLabel }}
Column {{ grid.filterCol }}
Reading the document…
{{ wordErr }}
{{ cur.name }}

{{ r.text }}

{{ r.text }}

{{ cur.typeLabel }} — REVIEW SURFACE
{{ cur.name }}

Rendering for this format runs server-side and is not wired up in this build — PowerPoint and the older .doc and .xls formats. Comments, anchors and the audit trail work exactly as they do for PDF: mark a region and the pin is stored against page {{ docPage }}.

{{ mk.num }}
{{ vp.label }}
Comments
{{ shownComments }} shown
New comment on {{ pendLabel }}
{{ c.num }}  {{ c.whoName }}
{{ c.loc }} · {{ c.when }}

{{ c.body }}

{{ c.editedNote }}
{{ rp.whoName }}
{{ rp.when }}

{{ rp.body }}

{{ noCommentsNote }}
Tool

{{ stubTitle }}

In definition

{{ stubBody }}

Send the requirements and this screen will be built out: inputs, states, outputs and permissions.

Support

{{ supportTitle }}

TICKETS
{{ t.num }} {{ t.status }}
{{ t.subject }}
{{ t.meta }}
No tickets yet.

Describe the issue

SCREENSHOTS (OPTIONAL, UP TO 4)
or paste a screenshot into the box above
{{ tErr }}
{{ thread.subject }}
{{ thread.metaA }}{{ thread.byName }}{{ thread.metaB }}
{{ m.who }}{{ m.head }}
{{ m.body }}
{{ tErr }}
Select a ticket on the left, or press New issue to raise one.
Account

User profile

{{ avatarBig }} profile
photo
{{ userFullName }}
Username: {{ userName }}
{{ userEmail }}
{{ userRole }} — blankfil
Account type{{ plan }}
Sampling runs{{ runsLabel }}
Plan & billing
{{ planStatusLine }}
Technical issues
qcsupport@blankfil.com {{ myTicketsLabel }}
Privacy & consent
{{ privLine }} {{ marketingState }}
Terms Privacy Policy
{{ delPendingLine }}
{{ delAskText }}
{{ privMsg }}
Last sign-in{{ lastLogin }}
Session timeout{{ timeoutLabel }} of inactivity
Time remaining{{ clock }}

Change password

{{ r.mark }}  {{ r.label }}
{{ err }}
{{ notice }}
Checkout

Blankfil QC Premium

Premium — unlimited sampling runs
Billed monthly, inclusive of GST. Cancel any time.
{{ payPrice }}
A collect request goes to your UPI app — GPay, PhonePe, Paytm or any BHIM app. Approve it there within five minutes.
Cards are tokenised by the payment provider under RBI rules — Blankfil never stores card numbers.
{{ payErr }}
Demo checkout. No live gateway is connected, so no money moves and no card or UPI detail leaves this browser.
Payment received

Premium is active

{{ payPrice }} paid. Sampling runs are now unlimited on this account.

Reference {{ payRef }}
Administration · Manage plan

{{ apName }}

{{ apEmail }}
{{ apErr }}
{{ apMsg }}
Loading…
{{ r.k }}{{ r.v }}
{{ apReqLine }}

Members

{{ m.name }}

Grant complimentary plan

No payment is taken. The plan ends automatically after the months you set.

Complimentary plan

Ending it moves the account, and any team members, to Free straight away.

Reassign team ownership

OLD OWNER AFTER THE TRANSFER
What happens
·{{ w.t }}
The new Owner is emailed when the transfer is done.
Before you continue

{{ consentTitle }}

{{ consentIntro }}

{{ consentErr }}
{{ consentFoot }}
Account

Plan & billing

{{ planStatusLine }}
{{ billUsageLine }}
{{ billErr }}
{{ billNotice }}
{{ takeoverLine }}
Payments are not switched on yet. The administrator needs to add the Razorpay keys on the server.

Free

Current
₹0
{{ freeRunsLine }}
{{ freeDocsLine }}
Sampler, QC Tracker and Document QC
Share with anyone
Support tickets at Medium priority

Pro

Current
{{ proPrice }}{{ perLabel }} + GST
Unlimited sampling runs
Unlimited documents
AI protocol and CRF review (when released)
Word comment and Excel exports
Audit trail download
Priority email support; set ticket priority
{{ proTotal }}

Team

Current
{{ teamPrice }}per seat {{ perLabel }} + GST
Everything in Pro, for every seat
Owner adds and removes members
One consolidated invoice
Usage report per member
{{ teamMinLine }}
{{ teamTotal }}
Cancelling moves the account to Free straight away.

Cancel {{ plan }}?

{{ cancelText }}

{{ billFootnote }}
DateDescriptionAmountMethodStatusInvoice
{{ p.date }} {{ p.desc }} {{ p.amount }} {{ p.method }} {{ p.status }}
No payments yet.
{{ sellerLine }}

Members

{{ teamSeatsLine }}
MemberRole
{{ teamOwnerName }}Owner
{{ m.name }} Member

Seats

{{ teamTotal }}
{{ seatHelp }}

Ownership

Only a Blankfil administrator can move ownership. They check the change with your company first.
{{ trPendingLine }}
Add the new Owner as a member first, then request the transfer.
Before you send
·{{ w.t }}
QC Tracker

Send {{ sendCount }} flagged record(s)

Reviewers see these records under the project name when they sign in.

{{ sendEvenNote }}
{{ m.m }}
The counts must add up to {{ sendCount }}.
{{ sendErr }}
AI Document QC

Share for review

{{ shareDocName }}

Currently shared with: {{ shareCurrent }}
{{ shareErr }}
Notification

Document shared successfully

A review request has been sent to {{ notify.to }}. The document appears under AI Document QC when they sign in.

Audit trail

{{ auditDocName }}

Append-only. Owner and reviewer actions are recorded with account and timestamp.

WhenAccountAction
{{ e.when }} {{ e.who }} {{ e.what }}
No entries match the filters. {{ auditTotal }} entries recorded.
File will be deleted after download
{{ result.name }}
For privacy, the processed file is removed from tool storage as soon as it is downloaded. It cannot be downloaded again — save it to a controlled location. The audit log entry for this run is retained.
Session expiring
This session will end in {{ clock }} due to inactivity, as required by 21 CFR Part 11 §11.10(d). Unsaved sampling parameters will be lost.