Developer Center

Scholera Engineering Security Requirements

Developer Security Standard

The binding security requirements governing how Scholera code is written, reviewed, deployed, and operated, covering internal engineers, contractors, and third party service providers, with a dated roadmap for the security controls Scholera has committed to in institutional security assessments.

August 10th, 2026

Document Control

Document type
Internal Standard — Available to End Users
Version
0.1
Owner
Harshil Patel, Chief Technology Officer
Co-owner
Pat Roscio, Chief Operating Officer
Applies to
All Scholera engineers, contractors, and any party contributing code or receiving system access
Review cadence
Semiannual, or upon material change to architecture, tooling, or regulatory obligations
Contact
proscio@scholera-inc.com

1. Purpose, Scope, and Authority

1.1 Purpose

This standard defines the security requirements that govern how software is built and operated at Scholera. It exists because our platform holds student education records for institutions that are legally accountable for those records. Every engineering decision we make is made on their behalf and under their liability.

This document is deliberately prescriptive. Where a requirement is stated as a rule, it is a rule, not a recommendation. Where a control is aspirational rather than implemented, it appears in Section 20 with a date rather than being described in the present tense.

1.2 Scope

This standard applies to:

  • All Scholera employees and founders who write, review, deploy, or operate code
  • All contractors, agencies, and individual freelancers contributing to any Scholera codebase
  • All AI coding agents operating under a Scholera engineer's direction, where the supervising engineer holds full accountability for the output
  • All third party service providers whose systems process, store, or transmit Scholera data, as specified in Section 18
  • All environments: production, staging, development, and local

1.3 Relationship to Other Documents

DocumentRelationship
Privacy PolicyExternal commitments to users and institutions. This standard implements the technical controls those commitments depend on.
Privacy Management ProgramGoverns personal data handling, rights requests, vendor privacy assessment, and non-compliance response. This standard governs the code and systems that process that data.
Institutional agreements and DPAsContractual obligations. Where an institutional agreement imposes a stricter requirement than this standard, the agreement governs for that institution.

Where documents conflict, the stricter requirement applies.

1.4 Authority and Exceptions

The Chief Technology Officer owns this standard. Exceptions require written approval from the CTO and the Chief Operating Officer, must specify a scope, a compensating control, and an expiry date, and are recorded in the Exception Log maintained under the Privacy Management Program. There are no verbal exceptions and no permanent exceptions.

1.5 Non-Compliance

Failure to follow this standard is a security incident, not a style disagreement. Handling follows Section 17 and the non-compliance framework in Section 13 of the Privacy Management Program. Good faith errors reported promptly are treated as process failures. Concealment is treated as serious misconduct.


2. Security Principles

These principles resolve situations this document does not explicitly cover.

Assume the data is not ours. Student records belong to students and to the institutions that hold them. We are custodians with a narrow, revocable mandate. Design as though every record has a name attached, because it does.

Prefer controls that make violations impossible over controls that prohibit them. A permission enforced by a database policy is stronger than a permission enforced by a code path, which is stronger than a permission enforced by a rule in a document.

Default deny. New endpoints, new data, new roles, and new integrations start closed and open only by explicit decision.

Minimize blast radius. Assume any single component will be compromised. Design so that compromise of one does not yield the rest.

Log the security relevant, never the sensitive. Auditability and confidentiality are not in tension if you are deliberate about what goes into a log line.

Small surface beats hardened surface. The most secure dependency is the one not installed. The most secure endpoint is the one not exposed. The most secure data is the data not collected.

Be honest about posture. Do not describe a planned control as an existing one, internally or externally. Section 20 exists so that gaps have dates instead of euphemisms.


3. Roles and Responsibilities

RoleHolderSecurity Responsibilities
Standard OwnerHarshil Patel, CTOOwns this document. Approves exceptions. Owns production access provisioning and review, dependency and vulnerability management, encryption and key handling, deployment authorization.
Frontend Security LeadKevin Doshi, CEOClient side security: output encoding, CSP, dependency hygiene in the frontend tree, secure handling of tokens in the browser, consent and notice surfaces.
Privacy Program OwnerPat Roscio, COOInstitutional and regulatory notification, privacy non-compliance handling, vendor contractual review, institutional security questionnaire responses.
Contributing EngineerAll engineers and contractorsCompliance with this standard for all code authored, reviewed, or deployed. Reporting suspected issues within 24 hours.
ReviewerAny engineer reviewing a pull requestVerifying the security requirements in Section 6 before approving. A review approval is an assertion that the reviewer checked.

No engineer reviews and approves their own change to production.


4. Data Classification

Every piece of data in the system belongs to one of four classes. Classification determines handling requirements throughout this standard.

ClassDefinitionExamplesHandling
RestrictedPersonal data whose exposure would harm an individual or breach a legal obligationStudent names, institutional emails, enrollment records, assessment submissions, AI interaction content, uploaded course materialsEncrypted at rest and in transit. Access logged. Never in logs, error messages, analytics, URLs, or non-production environments. Never in prompts beyond documented necessity.
InternalOperational data that is not personal but not publicEncrypted user identifiers, system configuration, aggregate usage metrics, internal architecture detailEncrypted at rest and in transit. Access role scoped. Not shared externally without approval.
SecretCredentials and key materialAPI keys, database credentials, service account keys, signing keys, session secretsNever in source control, logs, error messages, screenshots, tickets, or chat. Managed per Section 8.
PublicContent intended for public consumptionMarketing copy, published documentation, public API schemasNo restriction.

When classification is ambiguous, treat the data as one class more restrictive than your instinct.

Restricted data must never appear in: URL paths or query parameters, log output, error messages returned to a client, analytics or telemetry payloads, non-production databases, local development environments, third party services not listed in the subprocessor inventory, LLM prompts beyond what Section 10 explicitly permits, or any AI coding assistant context window.


5. Secure Development Lifecycle

Security is applied at every phase, not appended at the end.

5.1 Design Phase

Before implementation begins on any feature that touches Restricted data, authentication, authorization, AI inference, or a third party integration, the responsible engineer produces a short design note covering:

  1. What data the feature touches and its classification
  2. Which roles may access it and how that is enforced
  3. Whether the feature introduces a new data element, requiring a Data Inventory update
  4. Whether the feature requires a Data Privacy Impact Assessment under Section 8 of the Privacy Management Program
  5. What could go wrong, and what control prevents each failure

The design note need not be long. It needs to exist and be reviewed.

5.2 Threat Modeling

For features involving authentication, authorization, AI inference, file upload, or external data ingress, the design note includes a lightweight threat model addressing at minimum:

  • Spoofing: can an actor claim an identity they do not hold?
  • Tampering: can data be modified in transit or at rest by an unauthorized party?
  • Repudiation: is there an audit record sufficient to establish what happened?
  • Information disclosure: can a user reach data outside their role scope? Can an inference reveal what a direct query would not?
  • Denial of service: can a single actor consume disproportionate resources?
  • Elevation of privilege: can a user assume a higher role, or can the LLM act with more authority than the requesting user holds?

5.3 Implementation

Code is written to the requirements in Sections 6 through 12.

5.4 Review

Every change is reviewed by an engineer other than the author, against the checklist in Appendix A. Review is a security control, not a formality.

5.5 Pre Release Validation

Changes are validated in staging before promotion to production, against the checklist in Appendix B.

5.6 Deployment

Deployment is authorized by the CTO per Section 13.

5.7 Post Deployment

Monitoring per Section 14. Any anomaly is treated per Section 17 until proven benign.


6. Secure Coding Requirements

6.1 Input Handling

  • Validate all input at the trust boundary, on the server, against an explicit allowlist schema. Client side validation is a usability feature and provides no security guarantee.
  • Reject invalid input. Do not sanitize and proceed, because silent coercion produces states no one designed for.
  • Enforce explicit length, type, range, and format constraints on every field. Unbounded input is a denial of service vector and a storage cost.
  • Validate file uploads by content inspection, not by extension or client supplied MIME type. Enforce a maximum size. Store uploads outside the web root and serve through an authorization checked handler, never by direct path.

6.2 Output Encoding and Injection Prevention

  • Encode output contextually at the point of rendering: HTML body, HTML attribute, JavaScript, URL, and CSS contexts each require different encoding.
  • Never construct SQL by string concatenation or template interpolation. Use parameterized queries or the query builder exclusively. This applies to internal tooling and one off scripts as strictly as to production code paths.
  • dangerouslySetInnerHTML and equivalents are prohibited without CTO approval and a documented sanitization step using a maintained sanitizer library.
  • Never pass user input to eval, Function, setTimeout with a string argument, or any dynamic code execution primitive.
  • Never construct shell commands from user input. Where a subprocess is unavoidable, use an argument array form and never a shell string.

6.3 Error Handling

  • Errors returned to clients are generic. Detail goes to server logs with a correlation identifier the client can quote to support.
  • Never expose stack traces, database errors, file paths, dependency versions, or internal hostnames to a client.
  • Fail closed. An error in an authorization check denies access. A catch block that swallows an exception and continues is prohibited in any code path that gates access to data.
  • Authentication failures return an identical response and take a comparable time regardless of whether the account exists, to prevent account enumeration.

6.4 General Prohibitions

  • No secrets in source, including in comments, test fixtures, seed data, configuration defaults, or commit history.
  • No Restricted data in test fixtures, seed data, or example payloads.
  • No commented out code containing credentials or internal endpoints.
  • No debug endpoints, verbose error modes, or diagnostic routes reachable in production.
  • No custom cryptography. Use vetted, maintained libraries and standard algorithms per Section 9.
  • No disabling of TLS verification, certificate pinning, or security middleware, including temporarily during local development in a way that could be committed.

6.5 AI Coding Assistants

Scholera engineers use AI coding assistants. The supervising engineer holds full accountability for every line produced.

  • Never paste Restricted data, Secret data, or production configuration into an AI assistant context.
  • Never paste proprietary architecture detail into a consumer tier assistant without confirming the provider's data retention and training terms.
  • Review generated code against this standard before committing. Generated code frequently contains string interpolated queries, missing authorization checks, permissive CORS configuration, and outdated dependency versions.
  • Generated code is subject to the same peer review requirement as hand written code. "The model wrote it" is not a review.

7. Authentication and Authorization

7.1 Authentication

  • End user authentication is delegated to the connected identity provider through Google OAuth 2.0. Scholera does not issue or store end user passwords, which removes password storage, rotation, complexity enforcement, and reuse from our risk surface entirely.
  • Identity provider assertions are validated on every request. Signature, issuer, audience, and expiry are verified. A token is never trusted on the basis of prior validation alone.
  • Session tokens are stored in HttpOnly, Secure, SameSite cookies. Tokens are never placed in localStorage, sessionStorage, URL parameters, or any client readable store.
  • Sessions expire after a defined idle period and a defined absolute maximum. Session identifiers are regenerated on privilege change.
  • Administrative accounts require multifactor authentication. See Section 20 for current enforcement status and target date.

7.2 Authorization

  • Authorization is enforced on the server for every request. A hidden UI element is not an access control.
  • Every data access enforces both role and tenant scope. Role alone is insufficient: an instructor at one institution must not reach a course at another, and the check must be structural rather than a conditional an engineer can forget to write.
  • Prefer database enforced row level policies over application layer checks where the data store supports it, so that a missing check in a new code path fails closed rather than exposing data.
  • Object level authorization is verified on every access by identifier. Accepting an identifier from the client and returning the corresponding record without checking the requester's entitlement to it is the most common and most damaging web vulnerability class, and it is prohibited absolutely.
  • Privilege escalation paths are explicitly enumerated in the design note for any feature that changes a user's role or entitlement.

7.3 Role Model

RoleScopePermitted Access
StudentOwn records within enrolled coursesOwn interaction history, own submissions, instructor published course content
InstructorOwn coursesEnrolled student activity within that course, course content management, AI usage indicators for review
Institutional AdministratorOwn institutionUser provisioning, role assignment, platform configuration, audit log requests
Scholera EngineerAs provisioned per Section 15Production access only with documented justification

No role may be granted access beyond this table without a design note, CTO approval, and a Data Inventory update.


8. Secrets Management

  • All secrets are stored in a managed secret store or the platform's encrypted environment variable facility. Never in source control, never in a shared document, never in chat, never in a ticket.
  • .env files are listed in .gitignore before the first commit of any new repository or service. A repository is not created without this.
  • Automated secret scanning runs against the repository and the commit history. See Section 20 for status.
  • Secrets are scoped to the narrowest function and environment that requires them. Production and non-production environments never share a secret.
  • Rotation is required immediately upon: suspected exposure, commit to source control regardless of whether the commit was pushed, departure of any individual with access, and compromise of any system where the secret was used. Rotation on a routine schedule follows Section 20.
  • A secret committed to source control is treated as compromised even if the commit is reverted, because history is recoverable. Revert is not remediation. Rotation is remediation.
  • Exposure of any secret is reported to the CTO immediately and handled per Section 17.

9. Cryptography and Data Protection

9.1 Standards

PurposeRequirement
Data in transitTLS 1.2 minimum, TLS 1.3 preferred. HTTPS enforced on all endpoints with HSTS. No mixed content.
Data at restAES 256
Password storageNot applicable. Scholera does not store end user passwords.
Hashing for integritySHA 256 or stronger. MD5 and SHA 1 are prohibited for any security purpose.
RandomnessCryptographically secure random sources only. Math.random() is prohibited for any security relevant value including tokens, identifiers, and nonces.
Key materialManaged per Section 8. Never derived from a hardcoded value or a predictable input.

9.2 User Identifier Encryption

Scholera pseudonymizes user identifiers in interaction logging. Log records reference an encrypted identifier rather than raw personal data, so a log export does not constitute a disclosure of identity absent the decryption control.

Requirements:

  • The decryption control is held separately from the log store and is accessible only to personnel with production access under Section 15.
  • The mapping is never written into the log store itself, into analytics, or into any system that receives log data.
  • Any change to the identifier scheme requires CTO approval and an assessment of whether historical logs remain correctly attributable.

9.3 Transport

  • Internal service to service communication is encrypted.
  • Certificate validation is never disabled.
  • Deprecated protocol versions and cipher suites are disabled at the edge.

10. AI and LLM Security Requirements

Scholera's core product is AI driven, which introduces failure modes that conventional application security practice does not address. These requirements are as binding as any other section.

10.1 Architectural Boundaries

  • The model has no direct access to the database, to institutional systems, or to any administrative function. All data reaches the model through an application layer that has already performed authorization.
  • The model has no access to the open internet.
  • The model operates strictly within the retrieval scope defined by the requesting user's role and course context. A student's query cannot retrieve content from a course they are not enrolled in, and this is enforced at retrieval time by a scoped query, not by prompt instruction.
  • Model output never directly triggers a state change. An output that would affect a grade, a record, or a student's standing is surfaced to a human for decision. See Section 10.5.

10.2 Prompt Construction

  • Prompts are constructed server side from templated components. User input is never concatenated into a system instruction position.
  • Restricted data enters a prompt only where documented as necessary in the Data Inventory. Where a pseudonymous reference suffices, use it.
  • The retrieval context passed to the model is scoped by an authorization checked query executed before prompt assembly. Retrieval scope is never determined by anything the model produces.
  • Prompt templates are stored in source control and reviewed like code. A prompt change that alters what data the model receives or what actions it may recommend is a security relevant change and requires review on that basis.

10.3 Prompt Injection

Treat all content the model reads as untrusted input, including instructor uploaded course materials. A PDF uploaded to a course is user supplied content that will be read by the model, and it can contain text directed at the model.

Requirements:

  • Model output is never executed, never used to construct a query, and never used to determine an authorization decision.
  • Model output rendered in the UI is treated as untrusted and encoded accordingly. A model can be induced to emit markup.
  • Retrieval scope, tool availability, and role are determined before inference and cannot be altered by anything appearing in retrieved content or user input.
  • Where the model produces a structured output consumed by application logic, parse and validate it against a strict schema and reject anything nonconforming. Never trust the shape.

10.4 Resource Controls

  • Every request enforces a token cap. Caps are configurable per contract and per pilot.
  • Each user input maps to a bounded, defined inference operation. Recursive, open ended, or self extending model call chains are prohibited.
  • Rate limiting is applied per user and per institution.
  • Anomalous consumption triggers alerting per Section 14.

10.5 Human Oversight

The following require human decision and may never be automated:

  • Any grade or assessment outcome
  • Any academic integrity determination
  • Any action affecting a student's standing or record
  • Any disclosure of student data to a party who did not already hold access

Model output informs these decisions. It does not make them. Any proposed feature that would automate a decision in this list requires a Data Privacy Impact Assessment and founder level approval before design begins.

10.6 Training Data Prohibition

Student and institutional data is never used to train, fine tune, or otherwise improve any model, whether Scholera operated or provider operated. This is enforced contractually with providers and architecturally in our pipeline. Any code path that would send data to a provider endpoint without training opt out configured is a critical defect.

10.7 Logging of AI Interactions

  • AI interactions are logged by encrypted user identifier with timestamp and action, per our audit commitments.
  • Logs capture what is required for institutional audit and oversight. They do not capture more than that.
  • Log retention follows the retention schedule in the Privacy Management Program.

11. Dependency and Supply Chain Management

11.1 Selection

Before adding a dependency, the engineer confirms:

  • The functionality cannot reasonably be implemented directly. A one function utility package is a supply chain liability with no offsetting benefit.
  • The package is actively maintained, with recent commits and responsive issue handling.
  • The package has no known unremediated critical vulnerabilities.
  • The license is compatible with Scholera's commercial use.
  • The transitive dependency tree is proportionate. A package that pulls in dozens of transitive dependencies for a small benefit is rejected.

New dependencies in a pull request are called out explicitly in the description with a one line justification.

11.2 Integrity

  • Lockfiles are committed and are authoritative. Installs in CI and production use the lockfile exclusively.
  • Dependency versions are pinned. Floating major and minor ranges in production dependencies are prohibited.
  • Lockfile changes in a pull request receive specific reviewer attention. An unexplained lockfile diff is a review blocker.

11.3 Monitoring and Currency

Automated dependency vulnerability scanning runs against the repository, with findings triaged by severity per Section 12. A documented process for tracking third party and open source library currency, maintenance status, and long term availability is under development. See Section 20.


12. Vulnerability and Patch Management

12.1 Severity and Remediation Targets

SeverityDefinitionTarget Remediation
CriticalRemote code execution, authentication bypass, unauthenticated access to Restricted data, active exploitation24 hours
HighPrivilege escalation, authenticated access to data outside role scope, significant data exposure7 days
MediumVulnerability requiring specific conditions or limited impact30 days
LowMinimal impact, defense in depth improvement90 days or next planned release

The clock starts at identification, not at triage.

12.2 Interim Mitigation

Where a patch is not immediately available, mitigation is applied within the Critical or High remediation window even if full remediation is not yet possible. Acceptable interim measures include disabling the affected feature, restricting access to the affected path, applying a virtual patch or WAF rule, tightening rate limits, or increasing monitoring on the affected surface.

An unpatched Critical vulnerability with no mitigation applied is not an acceptable state. If neither patch nor mitigation is possible, the affected functionality is disabled.

A formal policy governing interim risk mitigation between vulnerability identification and patch application is under development. See Section 20.

12.3 Scanning

Current and planned scanning coverage is stated in Section 20 rather than described here, so that this document does not represent a planned control as an operating one.


13. Change Management and Release

13.1 Standard Process

Every change to production follows this sequence without exception:

StepRequirement
1. BranchWork occurs on an isolated branch. Direct commits to the main branch are prohibited.
2. AuthorizationPeer review by an engineer other than the author. Reviewer verifies Appendix A.
3. Impact analysisReviewer assesses scope and downstream effect on existing functionality, integrations, and data handling.
4. TestingValidated in staging. Functional behavior, integration integrity, and regression against existing features.
5. ValidationConfirmed by the CTO before promotion.
6. DeploymentPromoted to production through the defined release process.
7. Rollback readinessRollback capability maintained for every deployment.

No change bypasses this sequence. Urgency is handled by Section 13.3, not by skipping steps.

13.2 Security Relevant Changes

The following receive heightened review and may not be approved by a reviewer who did not read the full diff:

  • Authentication or session handling
  • Authorization logic or role definitions
  • Prompt templates and retrieval scoping
  • Encryption, key handling, or identifier pseudonymization
  • Database schema affecting Restricted data
  • Third party integration configuration
  • Infrastructure, network, or CORS configuration
  • Dependency additions and lockfile changes
  • Logging configuration

13.3 Emergency Changes

Where a critical production issue requires unscheduled deployment:

  1. The CTO authorizes the emergency deployment. Authorization may be verbal at the time and must be confirmed in writing within 24 hours.
  2. The change is committed through version control, preserving the audit trail, even when the review step is compressed.
  3. Post deployment review by a second engineer occurs within 48 hours.
  4. The change is logged with the triggering issue, the authorizer, what was changed, and what review occurred after the fact.

A formal emergency change procedure covering authorization, documentation standards, and after the fact approval workflow is under development. See Section 20.

13.4 Version Currency

Scholera is a continuously delivered cloud platform serving all institutions from a single centrally managed instance. There are no parallel version branches, no installable client software, and no per institution deployments. Every user is on the current version at all times.


14. Logging, Monitoring, and Alerting

14.1 What Is Logged

Security relevant events are logged with timestamp, actor as encrypted identifier, action, and outcome:

  • Authentication attempts and outcomes
  • Authorization failures
  • Administrative and configuration changes
  • Production data access by Scholera personnel
  • AI feature interactions per Section 10.7
  • Data export, deletion, and rights request execution
  • Deployment events

14.2 What Is Never Logged

Secrets, session tokens, raw personal identifiers, full request bodies containing Restricted data, and AI prompt content beyond what audit commitments require.

Log statements are reviewed for this in every pull request. Logging is a common and quiet source of data exposure precisely because it feels harmless while writing it.

14.3 Log Integrity and Retention

Logs are stored in a tamper resistant environment separate from the application. Retention follows the Privacy Management Program schedule. Institutional administrators may request audit log exports for their own deployment.

14.4 Alerting

Alerting is configured for authentication anomalies, repeated authorization failures suggesting enumeration, anomalous AI token consumption, error rate spikes, and unexpected production access. Alerts route to the CTO.


15. Environment Separation and Production Access

15.1 Environment Rules

  • Production, staging, and development are separated with no shared credentials and no shared data stores.
  • Production Restricted data is never copied into staging, development, or local environments. Non-production environments use synthetic or anonymized data.
  • Non-production environments are not publicly accessible without authentication.
  • A production credential is never present on an engineer's local machine except where explicitly provisioned for a documented purpose.

15.2 Production Access

Per Section 10.3 of the Privacy Management Program:

  • Access follows least privilege and is scoped to role.
  • Administrative access to an institutional instance is not granted by default.
  • Access is provisioned only by the CTO. No engineer self provisions.
  • Access to production personal data requires documented work related justification specifying reason and scope.
  • Curiosity is not a justification. Accessing institutional or student data without a work related reason is a privacy non-compliance event subject to disciplinary action up to termination.

15.3 Access Review and Revocation

The CTO reviews all production access quarterly, confirms each grant remains appropriate, and revokes what is no longer necessary. Reviews are recorded in the Access Review Log.

On role change or departure, all access is revoked promptly and revocation is confirmed before offboarding is considered complete.

15.4 Endpoint Requirements

Any device used to access production systems or Restricted data must have full disk encryption enabled, an automatic screen lock, a current operating system with security updates applied, and no shared user account.


16. Infrastructure and Configuration

  • Infrastructure configuration is managed and version controlled by the CTO, providing a documented baseline and change history.
  • Default deny network posture. Services expose only the ports and endpoints they require.
  • CORS is configured with an explicit origin allowlist. Wildcard origins are prohibited in production.
  • Security headers are enforced at the edge: HSTS, Content Security Policy, X-Content-Type-Options, Referrer-Policy, and frame ancestor restrictions.
  • Administrative interfaces of infrastructure providers are protected by multifactor authentication. See Section 20 for enforcement status.
  • Backups are encrypted. Backup retention behavior is documented so that deletion commitments account for it. A deletion commitment that ignores backup retention is a commitment Scholera cannot honor.
  • Configuration changes follow Section 13.

17. Incident Response for Engineers

17.1 Reporting Duty

Every engineer has an affirmative obligation to report a suspected security issue to the CTO immediately, and no later than 24 hours. This applies regardless of who caused it, including where the reporter caused it, and including where the reporter believes it may be minor or already resolved.

17.2 Non-Retaliation

Scholera does not retaliate against good faith reporting. An engineer who reports their own mistake within an hour has protected the company. The same mistake concealed and discovered later has harmed it, and the disciplinary framework reflects that distinction explicitly.

17.3 Immediate Actions

  1. Contain before investigating. Revoke the credential, disable the feature, restrict the path. Understanding can wait; exposure cannot.
  2. Preserve evidence. Do not delete logs, force push over history, or destroy artifacts needed to establish scope.
  3. Do not communicate externally. All institutional, regulatory, and public communication is handled by the Privacy Program Owner.
  4. Document as you go. Time of detection, what was observed, what was changed, in real time rather than reconstructed later.

17.4 Escalation

The CTO assesses scope and severity and engages the Privacy Program Owner where personal data may be affected. Institutional notification within 72 hours of discovery, regulatory notification, and remediation follow Section 13 of the Privacy Management Program.

17.5 Post Incident

Root cause analysis within 30 days of closure, focused on the control that should have prevented it rather than on the individual who encountered it. Resulting control changes are recorded and, where they alter engineering requirements, incorporated into this standard.


18. Third Party and Contractor Requirements

18.1 Contract Engineers and Agencies

Any external party contributing code or receiving system access must, before access is granted:

  1. Execute a written agreement including confidentiality, intellectual property assignment, and security obligations
  2. Acknowledge this standard in writing
  3. Receive access scoped to the narrowest set required, provisioned by the CTO
  4. Use individual named accounts. Shared accounts are prohibited without exception.
  5. Meet the endpoint requirements in Section 15.4
  6. Agree that all work occurs in Scholera controlled repositories and environments
  7. Agree that Restricted data is never copied, exported, or retained on external systems

Contractor code is subject to identical review requirements. There is no expedited path for external contributors, and in practice contractor changes warrant closer review because the contributor has less context on the system's invariants.

On engagement end: access revoked same day, credentials the contractor held rotated, repository access removed, and any Scholera data on contractor systems deleted with written confirmation.

18.2 Third Party Service Providers

Any service provider processing, storing, or transmitting Scholera data must meet the following before integration:

RequirementDetail
Contractual instrumentData Processing Agreement or equivalent, executed before any production data flows
Purpose limitationProvider may use data only to deliver the contracted service
Training prohibitionExplicit contractual prohibition on using Scholera data for model training or product improvement requiring identification
EncryptionTLS in transit, encryption at rest
Breach notificationDefined notification obligation with a stated maximum timeline
Subprocessor disclosureProvider discloses its own subprocessors and notifies of changes
Access controlsProvider supports role scoped access and MFA on administrative accounts
Deletion on terminationData deleted on termination with written confirmation, and a stated backup expiry window
AssessmentPrivacy and security assessment completed per Section 7.3 of the Privacy Management Program and recorded in the Vendor Register

Engineers may not integrate a new third party service that receives Scholera data without CTO approval and completion of the assessment. This includes analytics tools, error monitoring services, developer utilities, and anything else that receives request data. A tool added to solve a debugging problem is a subprocessor if it receives Restricted data, and it must be treated as one.

18.3 Current Subprocessors

ProviderFunctionData Received
SupabaseDatabase, authentication, storageRestricted, Internal
Google (Gemini)LLM inferenceRestricted (query and retrieval context)
Google (OAuth)Identity providerRestricted (identity assertions)
ElevenLabsVoice synthesisContent submitted for synthesis

DPA verification status for each provider is tracked in Section 20. A subprocessor operating under standard consumer or developer tier terms rather than an enterprise agreement is a material gap and a remediation priority.


19. Training and Acknowledgment

  • Every engineer and contractor reads and acknowledges this standard before receiving repository or system access.
  • Onboarding covers this standard, the reporting duty in Section 17.1, data classification in Section 4, production access rules in Section 15, and the AI specific requirements in Section 10.
  • Refresher review occurs annually and upon material revision.
  • Acknowledgments are recorded and retained.

20. Security Roadmap and Current Posture

Scholera is an early stage company. This section states plainly what is implemented, what is not, and when the gaps close. It is the authoritative reference for any commitment made in an institutional security assessment. Where this section and any narrative elsewhere disagree, this section governs.

20.1 Implemented

  • TLS in transit, AES 256 at rest
  • SSO through Google OAuth 2.0 with no end user passwords issued or stored
  • Role based access control with tenant scoping
  • Encrypted user identifiers in interaction logging
  • Peer review required on all changes, staging validation before production, rollback capability maintained
  • AI architectural controls: retrieval scoping, no open internet access, no model initiated state changes, no student data in training pipelines, per request token caps
  • Human oversight required for all grade, integrity, and record affecting decisions
  • Least privilege production access provisioned solely by the CTO with documented justification
  • Non-production environments use synthetic or anonymized data
  • Confidentiality and security policy acknowledgment at onboarding
  • Deliberately constrained subprocessor surface

20.2 Roadmap

#ItemCommitmentTargetOwner
1Enforce MFA on all administrative accounts across identity provider, cloud infrastructure, database, and internal tooling, applied at the provider level rather than per accountHECVAT: MFA for administrative accountsQ4 2026CTO
2Verify or execute formal DPAs with Supabase, Google Gemini, Google OAuth, ElevenLabs, and hosting provider; confirm enterprise tier terms and contractual training prohibitionHECVAT: third party liability and contractual standardsQ4 2026COO
3Complete verification of all outstanding entries in the Data InventoryPrivacy Management Program Section 3Q4 2026CTO
4Map existing controls to NIST AI RMF functions: Govern, Map, Measure, ManageHECVAT: AI risk management processesQ4 2026COO
5Stand up recurring external vulnerability scanning with defined cadence, severity triage, and documented remediation thresholdsHECVAT: external vulnerability scanningQ1 2027CTO
6Implement authenticated vulnerability scanning gated in the pre release validation stepHECVAT: authenticated scanning prior to releaseQ1 2027CTO
7Automated secret scanning across repository and commit historySection 8Q1 2027CTO
8Documented vulnerability and patch management policy including interim risk mitigation measures, classification criteria, and remediation timelines by severityHECVAT: risk mitigation before patches appliedQ1 2027CTO
9Formal emergency change procedure covering authorization, documentation, and after the fact approvalHECVAT: emergency change documentation and authorizationQ1 2027CTO
10Documented process for third party and open source library currency, maintenance status, and long term availability validationHECVAT: library validation and currencyQ1 2027CTO
11Documented onboarding and offboarding procedure with security training checkpoints, sign off, and access revocation checklistHECVAT: onboarding and offboarding trainingQ1 2027COO
12AI risk register and internal AI policy documentationHECVAT: documented AI risk processesQ1 2027COO
13System architecture diagram and full component data flow documentationHECVAT: architecture and data flow diagramsQ1 2027CTO
14Cookie consent interface and Privacy Center with structured request formPrivacy Policy commitmentsQ1 2027CEO
15Formal stop processing and data subject rights request procedurePrivacy Management Program Section 5Q1 2027COO
16Published FERPA data processing documentation on the Scholera websiteHECVAT: FERPA data documentationQ1 2027COO
17Third party security assessment of application and infrastructureHECVAT: third party security assessmentQ2 2027CTO
18Formal third party risk management program with annual vendor review cycle and risk registerHECVAT: third party management strategyQ2 2027COO
19Security and privacy review checkpoints formalized into sprint and release cyclesHECVAT: security in the product lifecycleQ2 2027CTO
20Documented internal audit frameworkHECVAT: internal audit processesQ2 2027COO
21Publicly posted AI governance documentationHECVAT: AI policies conspicuously postedQ2 2027COO
22Documented technical and procedural process library mapped to NIST AI RMFHECVAT: AI RMF documented processesQ2 2027COO
23Formal configuration management policy with baseline configurations, drift detection, and review cadenceHECVAT: systems management and configurationQ2 2027CTO
24Security controls inventory and gap assessment against NIST Cybersecurity FrameworkHECVAT: industry standard security frameworkQ1 2027CTO
25NIST CSF remediation roadmap and policy documentationHECVAT: security framework conformanceQ2 2027CTO
26Formal NIST CSF alignment and internal ratificationHECVAT: security framework conformanceQ3 2027CTO
27SOC 2 Type I readiness assessment and controls documentationHECVAT: SSAE 18 / SOC 2Q1 2027COO
28SOC 2 Type I audit initiationHECVAT: SSAE 18 / SOC 2Q2 2027COO
29SOC 2 Type I audit completionHECVAT: SSAE 18 / SOC 2Q3 2027COO
30SOC 2 Type II audit initiationHECVAT: SSAE 18 / SOC 2Q4 2027COO
31Third party gap assessment against NIST AI RMFHECVAT: AI risk framework validationQ2 2027COO
32First transparency report on legal process requestsPrivacy Management Program Section 6.7Q4 2027COO
33SAML federated identity support and evaluation of Okta integrationHECVAT: SSO protocol supportUnder evaluationCTO
34InCommon or eduGAIN trust federation participationHECVAT: federation participationUnder evaluationCTO

20.3 Sequencing Rationale

The roadmap is ordered so that cheap high impact controls land first and audit dependent work lands last.

Q4 2026 items are inexpensive, fast, and disproportionately visible to institutional reviewers. MFA enforcement in particular is the single highest value item on this list: it is hours of work, it closes the gap most likely to draw scrutiny in a security assessment, and it converts a No to a Yes on a question every institution asks.

Q1 2027 establishes the documentation and scanning layer. Most of these items formalize practices that already exist informally, which is faster than building new capability.

Q2 2027 brings in external validation and framework alignment, which depends on the documentation from Q1 existing first.

Q3 and Q4 2027 complete formal audit and certification, which cannot meaningfully begin until the preceding layers are in place. Attempting SOC 2 before the controls documentation exists produces an expensive finding list rather than a certification.

20.4 Roadmap Governance

The CTO and COO review this roadmap quarterly. A missed target is recorded with a revised date and a reason. Targets are not silently moved. Where a commitment has been made to an institution in a security assessment response, that institution is notified if the date changes materially.


Appendix A: Pull Request Security Checklist

The reviewer confirms each item before approving. An approval is an assertion that these were checked.

  • No secrets, credentials, tokens, or keys in the diff, including in tests, fixtures, comments, and configuration
  • No Restricted data in fixtures, seed data, or example payloads
  • All input validated server side against an explicit schema with length and type bounds
  • All database access parameterized; no string interpolation into queries
  • Output contextually encoded; no unsafe HTML injection primitives
  • Authorization enforced server side on every new or modified data access path
  • Both role scope and tenant scope enforced; object level authorization verified on access by identifier
  • Errors returned to clients contain no internal detail; authorization failures fail closed
  • No Restricted data, secrets, or tokens written to logs
  • New dependencies justified, pinned, actively maintained, and license compatible; lockfile diff explained
  • Prompt template changes reviewed for retrieval scope and data exposure impact
  • Model output not executed, not used to build a query, not used for an authorization decision, and encoded when rendered
  • Structured model output validated against a strict schema before use
  • New data elements flagged for Data Inventory update
  • DPIA completed where required by Section 8 of the Privacy Management Program
  • Design note exists for features touching Restricted data, auth, AI inference, or third party integration
  • No new third party service receiving Scholera data without CTO approval

Appendix B: Pre Release Checklist

  • All Appendix A items satisfied for every change in the release
  • Staging validation complete: functional, integration, and regression
  • Dependency vulnerability scan reviewed; no unremediated Critical or High findings
  • No debug endpoints, verbose error modes, or diagnostic routes reachable in production
  • Security headers and CORS configuration verified unchanged or intentionally updated
  • Rollback path confirmed
  • CTO validation and deployment authorization recorded
  • Institutional administrators notified where the change materially affects platform behavior

Appendix C: Engineer Onboarding Security Checklist

  • Employment or contractor agreement executed, including confidentiality and IP assignment
  • This standard read and acknowledged in writing
  • Privacy Management Program obligations reviewed, including the 24 hour reporting duty
  • Data classification model in Section 4 reviewed
  • Endpoint requirements verified: full disk encryption, screen lock, current OS, no shared account
  • MFA enabled on all provisioned accounts
  • Access provisioned by the CTO, scoped to role, recorded in the Access Review Log
  • Individual named accounts only; no shared credentials issued

Appendix D: Offboarding Security Checklist

  • All system, repository, and infrastructure access revoked
  • Any secrets or credentials the individual could access rotated
  • Production access grant removed and recorded in the Access Review Log
  • Scholera data removed from any personal or contractor controlled device, with written confirmation
  • Continuing confidentiality obligations acknowledged
  • Revocation confirmed by the CTO before offboarding is closed

Contact

Scholera Inc.

  • Standard Owner: Harshil Patel, Chief Technology Officer
  • Security and Privacy Contact: Pat Roscio, Chief Operating Officer
  • Email: proscio@scholera-inc.com
  • Location: New Jersey, United States

Institutional partners may request this standard, the Privacy Management Program, or supporting documentation at any time. Questions from institutional security reviewers have materially improved this document and are welcome.