Security stewardship · coordinated disclosure · people first

Protect the ministry, the ledger, and the people it serves.

JCS combines Christian prayer and testimony, public XRP Ledger evidence, Xaman-authorized transactions, market tools, NFTs, privacy-threshold mapping and experimental encrypted communication. A weakness can therefore create financial loss, permanent public disclosure or personal danger. This policy defines the security boundaries of the current ecosystem, how to report vulnerabilities, and how JCS intends to respond without asking researchers to endanger users.

Report security issueOpen security.txt

Ministry principle: “The prudent man foreseeth the evil, and hideth himself.” — Proverbs 22:3, King James Version.
High-risk believer rule: If testing reveals a person's Christian identity, exact location, vulnerable third-party identity, private prayer/testimony, Private Capsule plaintext or recovery key, stop immediately. Do not continue exploring, correlate the wallet with real-world identity, copy more data, or publish the evidence. Report the minimum necessary facts privately.
No extraction or escape routes on public JCS surfaces.
Prayer-focus country or region is not treated as the signer's physical location.
Private Capsule plaintext and keys stay off XRPL by design.
A neutral receipt NFT is optional and can itself create wallet linkage.
No reporter should use real persecuted-believer data as proof of concept.
Physical-safety impact can raise security priority beyond conventional technical severity.

Security policy contents

1. Security contact

Email is the primary reporting channel. An urgent public message may say only that a private report was sent; do not post exploit details, transaction substitution instructions, private information or unpatched attack paths on social media.

Minimal-report rule: use an alias if needed, a test wallet you control, redacted screenshots, and the smallest proof that establishes impact. Never send seeds, recovery phrases, private keys, Xaman passcodes, victim data or unnecessary government identification.

2. Project-wide security invariants

These are design requirements for the current JCS ecosystem. A violation can be a security defect even when the underlying third-party service behaves as designed.

JCS never needs a wallet seed, recovery phrase, private key or Xaman passcode.
Read-only pages must not create Xaman signing payloads.
Transaction-capable pages require an explicit user action and independent wallet review.
Signed or submitted is not settled; validated ledger evidence controls finality.
One user intent should map to one active signing request; stale requests are reset, not silently reused.
Six-digit challenges supplement—not replace—review of destination, amount, issuer, currency, NFT and memo fields.
Public Prayer Map refresh signals carry no prayer text, wallet identity or exact location.
Private Capsule plaintext and recovery keys never belong in public NFT metadata or XRPL memos.
No hidden master decryption key or universal recovery backdoor is maintained by JCS.

3. Current JCS surface and threat model

Transaction-capable

Main JCS portal

Threats include phishing, issuer substitution, malicious destination or amount changes, stale Xaman requests, dependency compromise and misleading market data.

Transaction-capable

Sign the Ledger

Prayer NFT minting and public registry publication require deliberate approvals. Threats include duplicate minting, wrong memo/content binding, unintended public disclosure and false success before validation.

Read-oriented

Prayer Map

Threats include re-identification, location inference, threshold bypass, malicious aggregation and confusing prayer focus with participant location.

Local-private + optional receipt

Private Capsule

Threats include endpoint compromise, key mishandling, wallet linkage from an optional public receipt, malicious ciphertext substitution and accidental disclosure of transport plus key together.

Read-only

Network Observatory / Metrics

Threats include stale or manipulated upstream data, wallet over-enumeration, false zero values when evidence is unavailable, and mixing external market context with validated XRPL facts.

Read-only

Account Readiness

Threats include treating public lookup as account-control proof, enumerating unrelated assets, misreading reserve/trustline state, and relying on a stale or non-validated ledger.

Threat-model boundary: JCS can harden its own code and integration choices but cannot make Xaman, XRPL validators, public nodes, browsers, operating systems, DNS, email providers or independent market/media services secure by policy.

4. Systems in scope

JCS-controlled web surfaces

Production HTML, CSS, JavaScript, JSON manifests, metadata, static configuration and deployment artifacts served from jesuschristsavestoken.com.

JCS integration logic

Xaman authorization/payload handling, transaction construction, reset logic, memo/challenge binding, XRPL read logic and validated-ledger verification implemented by JCS.

Prayer, testimony and NFT workflows

Draft handling, mint/registry sequencing, public feed parsing, replies, Amens, Prayer Map handoff and JCS-controlled privacy thresholds.

JCS-controlled cryptographic wrappers

Private Capsule browser-local encryption/decryption, SHA-256 evidence fingerprints, key/transport separation and optional neutral receipt construction.

JCS-controlled policy/discovery files

security.txt, privacy/terms/security policies, AI manifest, Web DID, XRPL TOML, sitemap/robots and machine-readable security descriptors.

Repository/deployment configuration

Only where the specific repository, Pages deployment or project configuration is controlled by JCS and the report does not require unauthorized account access.

5. Systems and conditions outside JCS control

6. Xaman and XRP Ledger transaction integrity

Before wallet handoff

Resolve the exact JCS issuer/currency, freeze a user intent into one transaction template, reject self-contradictory inputs, and display the fields the user must compare in Xaman.

During signing

Maintain one active request for the intent, expose QR/deep link only for that request, make Reset clear stale UI/state, and use a six-digit challenge where the workflow supports it.

After signing

Require a transaction hash and validated ledger result; compare transaction type, account, destination, issuer, currency, amount, NFT fields and expected memo/challenge bindings as applicable.

Never treat as success

A QR appearing, Xaman opening, the user tapping sign, submission to a server, a non-validated response, an unmatched transaction or a locally generated receipt is not by itself a successful ledger result.

7. What to include in a report

Provide enough information to reproduce the issue without exposing unrelated people.

Subject: JCS Security Report Reporter name or alias: Preferred contact method: Affected JCS URL / file / release: Date and approximate time observed: Browser / device / operating system: JCS workflow or surface involved: Clear vulnerability description: Minimal reproduction steps: Expected result: Actual result: Security / privacy / wallet / human-safety impact: Proof of concept or redacted screenshot: Whether any real wallet, transaction or person was affected: Whether sensitive data was encountered (do not attach it): Suggested mitigation, if known: Requested disclosure timeline:

Use test data and a wallet you control. If a real person's content appears unexpectedly, stop and describe the category of data rather than copying the content into the report.

8. Good-faith security research

Within the intended research boundary

  • Inspect publicly delivered HTML, CSS, JavaScript, JSON, headers and client-side requests.
  • Use developer tools on your own browser session.
  • Test only wallets, accounts, devices and content you own or are expressly authorized to use.
  • Use the minimum action needed to confirm the flaw.
  • Stop once impact is established or sensitive information appears.
  • Report privately and allow reasonable time for remediation.

Outside the intended boundary

  • Exfiltration, persistence, privilege escalation or lateral movement.
  • Access to another person's wallet, Private Capsule, draft, testimony, device or account.
  • Unauthorized real transactions or changing another user's intended transaction.
  • De-anonymization, location inference or correlation of believers with real identities.
  • Load testing, denial of service or flooding public XRPL infrastructure.
  • Exploit-based trading, extortion, coercion or publicity pressure.
Stop condition: once a vulnerability is confirmed, or once sensitive information becomes visible, additional exploitation is not necessary to produce a useful report.

9. Prohibited testing and conduct

10. Narrow assurance for policy-compliant research

When a researcher stays within this published policy, acts in good faith, avoids harm and reports promptly, JCS intends not to initiate legal action solely because of the minimal JCS-controlled web testing described here.

This is deliberately narrow. It is not a guarantee about prosecutors, governments, Xaman, XRPL Labs, hosting providers, wallet owners or any other third party, and it does not excuse unlawful conduct. If proposed testing is invasive, affects infrastructure beyond your own session, requires bypassing authorization, or falls outside the examples above, request written permission first.

License boundary: vulnerability reporting does not create an open-source or source-reuse license. The repository LICENSE continues to govern copying, modification, redistribution, deployment, derivative works, AI/model training and other reuse of proprietary JCS materials. This policy does not enlarge the LICENSE's separately defined Qualified Federal Watchdog exception.

11. Expected vulnerability-disclosure response

AcknowledgeTarget: within 7 calendar days for a clear report.
TriageTarget: initial scope/severity assessment within 14 calendar days.
UpdateTarget: at least every 30 days for unresolved material issues.

Targets are good-faith objectives, not contractual guarantees. JCS may request clarification, safer reproduction, deletion of inadvertently obtained sensitive data or coordination with a third-party provider.

12. Severity priorities: technical impact plus human safety

JCS may use CVSS v4.0 as a technical reference, but a numerical score does not replace contextual triage. Public-ledger permanence, irreversible wallet effects and exposure of a believer to persecution, stalking or physical harm are explicit priority factors.

CriticalSeed/private-key exposure; transaction substitution/unauthorized signing; domain/deployment takeover; large-scale Private Capsule plaintext/key exposure; exact-location or persecuted-believer identity exposure with credible physical-safety impact.
HighStored/reflected code execution, session/auth bypass, sensitive prayer/testimony exposure, transaction manipulation requiring limited conditions, or bypass of privacy thresholds with meaningful identification risk.
MediumMeaningful control bypass, limited information exposure, integrity weakness or cross-origin issue with practical impact but constrained exploitability.
Low / informationalHardening opportunity, low-impact disclosure, best-practice gap or issue requiring unrealistic assumptions and no meaningful user impact.

13. Security incident response

PrepareMaintain contacts, validation artifacts, backups where applicable, known service dependencies and release fingerprints.
Detect & analyzeConfirm the affected release/surface, distinguish live evidence from reports, and identify whether wallet, privacy or human-safety risk exists.
ContainDisable or isolate an unsafe workflow where practical rather than leaving a known dangerous path active.
EradicateRemove the defect, rotate exposed credentials if any, eliminate stale configuration and address the root cause rather than only the symptom.
RecoverRedeploy, validate, monitor and make clear when a fix was tested only with controlled mocks versus real production behavior.
LearnRecord lessons, update threat models, policy, tests and machine-readable invariants when the incident reveals a new failure mode.
Evidence minimization: incident response should preserve what is necessary for defense, legal obligations and root-cause analysis without turning the incident into a reason to collect unrelated prayer, testimony, location or wallet data.

14. Deployment and software-supply-chain hardening

Secure-by-default release behavior

Transaction pages should fail closed when issuer identity, Xaman state or validated evidence is unavailable. Missing evidence must remain unavailable rather than being rendered as a favorable zero or success.

Release evidence

Security-sensitive HTML releases should carry a release number and, where practical, a matching validation record with SHA-256, structural/browser test results and explicit controlled-versus-live test boundaries.

Dependency discipline

Minimize remote dependencies, constrain CSP/connect/frame origins, avoid unnecessary third-party loads, and keep policy/read-only pages free of wallet SDKs when no wallet is needed.

Hosting-header limitation

Meta CSP is useful defense in depth, but some protections—such as CSP frame-ancestors—require an HTTP response header. When hosting supports response headers, prefer server-delivered CSP and related hardening.

15. Coordinated public disclosure

JCS asks reporters to coordinate before publishing an unremediated weakness that could expose wallets, private content, user identity or a practical attack path. A default target of up to 90 days after confirmation may be used for correction, but timelines should adapt to exploit activity, third-party dependencies, legal obligations and immediate user safety.

Public advisories should omit wallet secrets, Private Capsule keys/plaintext, exact locations, vulnerable-person identities, live exploit tokens and unnecessary reproduction detail. When appropriate, JCS may publish the affected release, remediation, residual risk and credit requested by the reporter.

16. No bug-bounty or payment promise

JCS does not currently operate a paid bug-bounty program and does not promise money, JCS, XRP, NFTs, donations, employment, recognition or any other reward. Voluntary acknowledgment does not create a contract, partnership, ownership interest or entitlement to compensation.

17. Reporter privacy and submitted information

Security reports may be used to investigate, reproduce, remediate, document and defend against the issue and may be shared with only those developers, providers, security professionals, legal advisers or authorities reasonably necessary for that purpose. JCS cannot promise absolute confidentiality or privilege through ordinary email.

Use an alias and minimize identifying information when personal safety is a concern. If you inadvertently obtain a prayer, testimony, wallet-to-identity link, Private Capsule content or other sensitive data, do not include the contents in the report unless specifically necessary and a safer transfer method has been agreed.

See the Privacy, Religious Safety & Legal Process Policy for data-minimization, legal-process and user-notice principles.

19. Machine-readable security.txt

Canonical locationhttps://jesuschristsavestoken.com/.well-known/security.txt

The security.txt file is the machine-readable discovery point for security contact and policy information. It should remain available over HTTPS, be renewed before expiration and point back to this policy.

20. Security reference frameworks

RFC 9116 · security.txt

Defines the machine-readable vulnerability-disclosure contact file at the HTTPS /.well-known/security.txt location.

Open RFC 9116

NIST SP 800-61 Rev. 3

Frames incident response as part of cybersecurity risk management across preparation, detection, response and recovery activities.

Open NIST guidance

CISA Secure by Design

Supports taking ownership of user security outcomes, secure defaults, transparency and accountability rather than shifting the full security burden to users.

Open CISA guidance

DOJ vulnerability-disclosure guidance

Provides a mature model for minimal good-faith testing, avoiding disruption and sensitive-data access, stopping after confirmation and coordinating disclosure.

Open DOJ VDP

FIRST CVSS v4.0

Provides a common technical vocabulary for vulnerability severity. JCS adds wallet irreversibility, ledger permanence and human-safety context rather than treating the score as the whole decision.

Open CVSS v4.0

OWASP CSP guidance

Supports Content Security Policy as defense in depth against client-side attacks and emphasizes stronger server-delivered controls when hosting permits them.

Open OWASP guidance

22. Contact the JCS security team

Never send: wallet seed, recovery phrase, private key, Xaman/device passcode, Private Capsule recovery key, exact location, vulnerable third-party identity or unnecessary sensitive personal information.
“Moreover it is required in stewards, that a man be found faithful.”
— 1 Corinthians 4:2, King James Version
Security Contact & Vulnerability Disclosure · Jesus Christ Saves Token
✝ Security contact · faithful stewardship

Protect the ministry, the witness, and the people it serves.

Jesus Christ Saves Token treats security as an act of stewardship. The JCS ministry serves people who may face financial harm, identity exposure, or even religious persecution. A vulnerability affecting a wallet request, testimony, prayer NFT, public identity choice, or website control can therefore create consequences beyond ordinary technical inconvenience. This page explains how to report a suspected vulnerability safely and responsibly.

Ministry principle: “The prudent man foreseeth the evil, and hideth himself.” — Proverbs 22:3, King James Version.
Emergency warning: If you believe a vulnerability is actively stealing wallet credentials, changing transaction destinations, exposing private information, impersonating JCS, or placing a person in immediate danger, stop testing and report it immediately. Never send a seed, recovery phrase, private key, device code, or real victim data as proof.

Security policy contents

1. Security contact

Send vulnerability reports to:

Use the subject line JCS Security Report. Email is the primary reporting channel. The public X account may be used to say that an urgent report was sent, but do not publish technical details, exploit code, private information, or an unpatched weakness on social media.

2. Systems in scope

JCS-controlled website pages

The production pages and static resources served from jesuschristsavestoken.com, including index.html, verify.html, about-jcs.html, terms.html, privacy.html, security.html, AI manifests, and security contact files.

JCS client-side transaction builders

Code that prepares Xaman authorization, trustlines, payments, offers, cancellations, NFT mints, memos, prayer identifiers, replies, Amen reactions, and other user-requested XRPL transactions.

JCS testimony and prayer-NFT interface

The browser logic that reads public XRPL history, renders testimonies, stores unfinished drafts, builds prayer NFTs, applies visibility settings, and creates sharing links.

JCS-controlled configuration

Issuer and currency configuration, Content Security Policy, canonical URLs, project-owned repositories or deployment configuration when specifically identified as controlled by JCS.

3. Systems and issues outside JCS control

The following are generally outside scope unless the report demonstrates that JCS code or configuration directly causes the vulnerability:

4. What to include in a report

A useful report should contain enough information to reproduce and understand the issue while avoiding unnecessary personal or sensitive data.

Subject: JCS Security Report Reporter name or alias: Preferred contact method: Affected URL or file: Date and approximate time observed: Device, browser, and operating system: Clear vulnerability description: Step-by-step reproduction: Expected result: Actual result: Security impact: Proof of concept or screenshots: Whether any real wallet, transaction, or person was affected: Recommended correction, if known: Disclosure timeline requested:

Use a test wallet and the smallest possible proof. Redact wallet secrets, access tokens, session identifiers, personal testimony, names, locations, and any information that could expose a believer to persecution or retaliation.

5. Good-faith security research

Permitted when necessary and proportionate

  • Review publicly delivered HTML, CSS, JavaScript, headers, and configuration.
  • Use browser developer tools to inspect your own session and requests.
  • Test with accounts, wallets, content, and devices you own or are authorized to use.
  • Demonstrate a vulnerability using the minimum actions and data required.
  • Stop after confirming the issue and report it privately.
  • Allow reasonable time for investigation and correction before publication.

Not authorized

  • Accessing another person’s wallet, account, draft, identity, testimony, or device.
  • Signing or submitting a real transaction without the wallet owner’s informed approval.
  • Changing a destination, amount, issuer, memo, NFT, offer, or trustline for another user.
  • Extracting secrets, personal information, authentication tokens, or private communications.
  • Degrading availability, flooding public nodes, or disrupting ministry access.
  • Using vulnerability knowledge for trading, extortion, publicity pressure, or personal gain.

6. Prohibited testing and conduct

The following activities are expressly outside this policy and are not authorized:

7. Limited safe harbor for compliant research

When a researcher acts in good faith, stays within this policy, avoids harm, reports promptly, and gives JCS a reasonable opportunity to correct the issue, JCS will not initiate legal action against that researcher solely for the policy-compliant security research.

This limited statement applies only to JCS-controlled systems and only to conduct JCS has legal authority to authorize. It does not bind governments, prosecutors, law-enforcement agencies, Xaman, XRPL Labs, validators, hosting providers, social platforms, service providers, wallet owners, or other third parties. It does not excuse unlawful conduct, privacy violations, financial harm, extortion, reckless testing, or activity outside the stated scope.

If uncertainty exists about whether a proposed test is allowed, ask for written permission before performing it.

8. Expected response process

Initial acknowledgment JCS will aim to acknowledge a clear report within seven calendar days.
Initial assessment JCS will aim to provide an initial severity or scope assessment within fourteen calendar days.
Progress updates For unresolved material issues, JCS will aim to provide an update at least every thirty days.

These are good-faith targets, not guarantees. Response time may depend on report quality, volunteer availability, access to affected systems, third-party coordination, legal requirements, and the seriousness of the issue.

JCS may ask for clarification, additional evidence, safer reproduction steps, or confirmation that sensitive data was deleted. A report may be closed when it is not reproducible, outside scope, already known, a duplicate, informational only, or not a security vulnerability.

9. Severity priorities

Critical Wallet-secret exposure, malicious transaction substitution, unauthorized signing, deployment takeover, or immediate risk to many users.
High Stored or reflected code execution, authentication bypass, sensitive identity exposure, or transaction manipulation requiring limited conditions.
Medium Meaningful security-control bypass, cross-origin weakness, limited information exposure, or integrity issue with practical impact.
Low / informational Minor hardening issue, best-practice gap, low-impact information disclosure, or issue requiring unrealistic assumptions.

Severity is determined by actual exploitability, user interaction, scope, confidentiality, integrity, availability, wallet or financial impact, public-ledger permanence, and risk to people whose Christian identity could be exposed.

10. Coordinated public disclosure

Do not publish an uncorrected vulnerability or identifying details before coordination. JCS asks reporters to allow at least ninety days from confirmation for correction before public disclosure, unless the parties agree to a different timeline or immediate disclosure is legally required to prevent imminent harm.

A disclosure should protect users by omitting wallet secrets, access tokens, personal testimony, names, locations, unpublished code, live exploit paths, and information that could identify or endanger believers. JCS may request additional time when a correction depends on a third party, major redesign, application review, hosting provider, or wallet integration.

JCS may publish a security notice, correction summary, release number, affected version, mitigation, or acknowledgment when appropriate. Reporter acknowledgment requires the reporter’s permission.

11. No bug-bounty or payment promise

JCS does not currently operate a paid bug-bounty program and does not promise money, JCS tokens, XRP, NFTs, donations, employment, public recognition, or any other reward for a report. Do not incur costs or perform risky testing in expectation of payment.

JCS may voluntarily thank a researcher or provide acknowledgment, but any recognition is discretionary and does not create a contract, employment relationship, partnership, ownership interest, or entitlement to future compensation.

12. Reporter privacy and submitted information

JCS will use report information to investigate, reproduce, correct, document, coordinate, and defend against the reported issue. Information may be shared with developers, hosting providers, Xaman or another affected third party, legal advisers, security professionals, or authorities when reasonably necessary.

JCS cannot promise absolute confidentiality, attorney-client privilege, clergy-penitent privilege, or anonymous communication through ordinary email. Reporters should use an alias and avoid unnecessary identifying information when personal safety is a concern.

See the Privacy Policy for additional information. Never include a wallet seed, recovery phrase, private key, victim data, government identification, or information revealing a persecuted person’s identity unless lawfully necessary and specifically requested through a secure process.

13. Machine-readable security.txt file

Official location https://jesuschristsavestoken.com/.well-known/security.txt

The machine-readable file provides the primary contact, canonical location, policy URL, preferred language, expiration date, and bug-bounty status. It should be renewed before its expiration date so researchers do not rely on stale information.

15. Contact the JCS security team

Subject line: JCS Security Report
Never send: wallet seed, recovery phrase, private key, device code, or unnecessary personal information.
“Moreover it is required in stewards, that a man be found faithful.”
— 1 Corinthians 4:2, King James Version