Summary
NeighborlyEvents is a hosted web and mobile service for community events. Sign-in is passwordless, card numbers never touch our servers, we run no advertising or third-party analytics, and the data your community puts in belongs to your community. This page states what we do and do not do so that a security review can be completed from it; the vendor questionnaire at the bottom answers the standard questions row by row.
Authentication and sessions
- Members sign in without passwords. The website sends a single-use, expiring sign-in link; the mobile app sends a six-digit code that expires in ten minutes and is cancelled after five wrong attempts. No password is stored for these accounts.
- Organizers may also set a password. Passwords are stored as bcrypt hashes. Sign-in attempts are throttled per account and per source address.
- Web sessions are HTTP-only, secure cookies that expire after 30 days.
- Mobile sessions use a short-lived access token (30 minutes) with a rotating refresh token; both are stored only as SHA-256 digests, and a device can be signed out remotely.
- Administrative access to the platform is limited to NeighborlyEvents staff accounts with an admin flag; organizer consoles are scoped to the community or club the organizer belongs to.
What we collect, and what we don't
We collect what the community needs to run itself: name, email address, an optional phone number, and — where a community verifies residency — a home address. Organizers may add custom registration questions. We do not collect card numbers (Stripe does), we do not sell or share personal data for advertising, and neither the website nor the app contains third-party analytics or advertising trackers. The Privacy Policy has the complete statement.
Encryption
- In transit. TLS on every connection, with HTTP Strict Transport Security; plain HTTP is redirected.
- At rest. The database (Supabase) and file storage (Amazon S3) encrypt data at rest at the storage layer; the database's daily backups are encrypted the same way. Third-party API keys that communities supply are additionally encrypted at the application layer. Personal fields such as email addresses and home addresses are stored in the encrypted database but are not additionally encrypted at the application layer, because the application searches on them.
Payments
Payments are processed by Stripe. Card details are entered into Stripe's own components and go directly to Stripe; NeighborlyEvents stores only Stripe's identifiers and the amounts. Organizers receive money through their own Stripe Connect account, and NeighborlyEvents never holds bank account details. See How the money works.
Hosting and subprocessors
The service runs on Amazon Web Services (US West) with a Supabase-managed PostgreSQL database in the same region, behind Cloudflare. The providers below process data on our instructions to deliver their function. We will update this list, with a note in the change history, before adding a provider that handles personal data.
| Provider | What it does for us | Data it processes | Location |
|---|---|---|---|
| Stripe | Payment processing, Connect payouts to organizers, subscription billing | Payer name and email, payment amounts and identifiers. Card details are entered directly with Stripe and never reach our servers. | United States |
| Amazon Web Services (ECS, S3, SES, CloudWatch) | Application hosting, file storage, transactional email, logs | All application traffic; uploaded photos, flyers and documents; email addresses and message content; application logs | United States (us-west-1) |
| Supabase | Managed PostgreSQL database | All application data | United States (us-west-1) |
| Cloudflare | DNS, TLS termination, edge caching of public pages | All web traffic in transit | Global edge network; United States origin |
| Anthropic | The organizer AI assistant | The event, registration and community data the assistant reads to answer an organizer's request, and the request itself | United States |
| Google (Maps Platform, Firebase Cloud Messaging, Google Wallet) | Address autocomplete and geocoding; Android push delivery; Google Wallet event passes | Addresses typed for residency verification; device push tokens and notification text; attendee name and confirmation code on a saved pass | United States |
| Apple (Apple Push Notification service, Apple Wallet) | iOS push delivery; Apple Wallet event passes (signed on our servers) | Device push tokens and notification text | United States |
| Slack | Internal operations alerts to the NeighborlyEvents team | Alert summaries, which can include a member's name and email (for example, a new support request or a payment dispute) | United States |
Access control and auditing
Every organizer console is scoped to one community or club; an organizer of one community cannot read another's data. Registration state changes are logged with who made them and when. Platform administrators can act as an organizer for support, and that impersonation is visible in the interface while it is active.
Application security practices
- Static security analysis (Brakeman) runs in continuous integration and again as a gate in the deploy script; a finding blocks the deploy.
- The application runs on supported, current versions of Ruby and Rails, and dependencies are kept current.
- Security headers are set on every response (HSTS,
X-Content-Type-Options,Referrer-Policy,Permissions-Policy). A Content Security Policy is deployed in report-only mode while its allowlist is tightened toward enforcement. - Sign-in, sign-in-link requests, verification codes and anonymous form submissions are rate-limited.
- Uploaded financial documents are stored in a private bucket and served only through authenticated, streamed downloads — never by public URL.
Policies and runbooks
The internal policy set is written down and versioned with the application's source, reviewed at least annually, and available to customers on request:
- Information security policy — scope, ownership, and how the set is reviewed and changed.
- Access control — who can reach production systems and customer data, how accounts are protected, and how access is removed.
- Change management — every change ships through version control and a pipeline that runs static security analysis, dependency audits, linting and the test suite before deploy.
- Secrets management — encrypted credentials, who holds the keys, and rotation.
- Vulnerability management — scanning, triage timelines by severity, and coordinated disclosure.
- Incident response — detection, severity, containment, customer notification within 72 hours, and the post-incident report.
- Backup and recovery — cadence, retention, the restore procedure, and how often it is tested.
- Data retention and deletion — what is kept for how long, and how deletion requests are honored.
- Vendor and sub-processor management — selection criteria, the published list, and advance notice of changes.
- Acceptable use and device security — the standards the operator's own equipment and accounts meet.
- Business continuity — the continuity memo's commitments and the runbook behind them.
Backups and continuity
See the Continuity memo for hosting, backup cadence, the most recent restore test, data export and wind-down commitments.
Incident response
We will notify affected customers without undue delay and within 72 hours of confirming a personal-data breach, with what happened, what data was involved, and what we are doing about it. Operational alerts — errors, delivery failures, payment disputes, unusual database load — page the operator in real time.
Compliance posture
- SOC 2. NeighborlyEvents is not SOC 2 certified. The controls described on this page are documented and in operation; a formal audit is planned when customer volume warrants it.
- Privacy law. Members can request a copy or deletion of their personal data; account deletion is self-serve in the mobile app and by request on the web.
- Data processing addendum. Available. The standard template is published at /dpa; we execute it with the community on request.
- Insurance. NeighborlyEvents does not currently carry technology errors-and-omissions or cyber liability insurance and cannot provide a certificate of insurance. Coverage will be bound before or at the first paid community agreement; ask and we will confirm the timeline.
Reporting a vulnerability
Please report security issues to [email protected] (also published at /.well-known/security.txt). We acknowledge reports within two business days and ask for a reasonable window to fix before public disclosure.
Vendor security questionnaire
The standard questions, answered for NeighborlyEvents as it is today. "Partial" and "No" answers are stated as such — an honest gap is more useful to a reviewer than a soft yes.
Organization and policies
| Question | Answer | Status |
|---|---|---|
| Is there a designated owner accountable for security? | Yes. The founder-operator is accountable for security end to end; there is no separate security team. | Partial |
| Are security policies documented? | Yes. A written policy set (information security, access control, change management, secrets, vulnerability management, incident response, backup and recovery, data retention, vendor management, device security, business continuity) is versioned with the application's source, reviewed at least annually, and available to customers on request; the security overview and continuity memo are its customer-facing summary. | Yes |
| Do employees receive security awareness training? | Not applicable — NeighborlyEvents has no employees; a single operator runs the service. | N/A |
| Are background checks performed on staff with data access? | Not applicable — single operator, no staff. | N/A |
Access control
| Question | Answer | Status |
|---|---|---|
| How do users authenticate? | Passwordless single-use email links on the web and expiring six-digit codes in the app (five attempts, ten minutes). Organizers may additionally set a password, stored as a bcrypt hash. Sign-in attempts are throttled per account and per source address. | Yes |
| Is multi-factor authentication supported? | Possession of the email mailbox is the factor for passwordless sign-in. There is no second factor on the optional password path. | Partial |
| Is access role-based and scoped? | Yes — member, organizer, club organizer, volunteer and platform admin roles; every organizer console is scoped to one community or club. | Yes |
| Can vendor staff access customer data? | Platform admin accounts can, for support. An admin acting as an organizer is shown as such in the interface while it is active. | Yes |
| How are sessions managed? | Web sessions are HTTP-only, secure cookies expiring after 30 days. Mobile sessions use 30-minute access tokens with rotating refresh tokens, stored only as SHA-256 digests, revocable per device. | Yes |
| Are access rights reviewed periodically? | Organizer team membership is managed by each community's owner. There is no scheduled platform-wide access review. | Partial |
Data protection
| Question | Answer | Status |
|---|---|---|
| Is data encrypted in transit? | Yes — TLS on every connection with HTTP Strict Transport Security; plain HTTP is redirected. | Yes |
| Is data encrypted at rest? | Yes at the storage layer — the managed database and S3 buckets encrypt at rest. Third-party API keys supplied by communities are additionally encrypted at the application layer; personal fields such as email and home address are not, because the application searches on them. | Yes |
| How are encryption keys and secrets managed? | Storage keys are provider-managed. Application secrets live in encrypted configuration in the source repository; the master key is held by the operator and the deploy pipeline only. | Yes |
| How is customer data segregated? | Logically — one database, with every query scoped by community or club through the application's authorization layer. There are no per-tenant databases. | Yes |
| Is payment card data stored? | Never. Card details are entered into Stripe's components and go directly to Stripe; we store Stripe identifiers and amounts only. | Yes |
| What is the data retention policy? | Data is kept while the account or community is active and deleted on request. After a community closes its account, or after a service wind-down, its data is deleted 90 days later unless earlier deletion is requested. | Yes |
| How is data securely deleted? | Account deletion anonymizes personal fields, removes the address, and revokes every device token. Deleted files are removed from storage; prior object versions expire under the bucket lifecycle (90 days for community uploads, one year for financial documents). | Yes |
| Are backups encrypted? | Yes. The managed database provider takes a full physical backup daily, encrypted at rest like the primary; uploaded files are versioned in S3 with server-side encryption. | Yes |
Application security
| Question | Answer | Status |
|---|---|---|
| Is there a secure development lifecycle? | Every change goes through version control, an automated test suite, and static security analysis (Brakeman) in continuous integration and again as a gate in the deploy script. | Yes |
| Are vulnerability scans performed? | Static analysis (Brakeman) on every build and again as a deploy gate; Dependabot opens daily pull requests for Ruby gem and GitHub Actions advisories; JavaScript dependency pins are audited in CI on every build. | Yes |
| Has an independent penetration test been performed? | No third-party penetration test has been performed. | No |
| Is there a vulnerability disclosure process? | Yes — coordinated disclosure via /.well-known/security.txt with a two-business-day acknowledgement. There is no paid bounty. | Partial |
| How are injection and cross-site attacks prevented? | Framework-level parameterized queries, strong parameter filtering, CSRF tokens on every state-changing form, and output escaping by default. | Yes |
| Are security headers and a Content Security Policy in place? | HSTS, X-Content-Type-Options, Referrer-Policy and Permissions-Policy are enforced on every response. A Content Security Policy is deployed in report-only mode while its allowlist is tightened toward enforcement. | Partial |
| Is rate limiting in place? | Sign-in, sign-in-link requests, verification codes and anonymous form submissions are throttled in the application. There are no custom edge WAF rules beyond Cloudflare's defaults. | Partial |
| Is there logging and monitoring? | Application logs are centralized; errors, email delivery failures, payment disputes and unusual database load alert the operator in real time. | Yes |
| Are secrets kept out of source code? | Yes — encrypted credentials only; the pipeline never prints them. | Yes |
Infrastructure and availability
| Question | Answer | Status |
|---|---|---|
| Where is the service hosted? | Amazon Web Services, US West (N. California) — containers on ECS Fargate behind an application load balancer — with a Supabase-managed PostgreSQL database in the same region, S3 for files, SES for email, and Cloudflare in front. | Yes |
| Is the infrastructure redundant? | Multiple application containers behind a load balancer, plus a second application deployment on owner-operated hardware serving the same database. The database itself is a single managed instance; there is no multi-region database failover. | Partial |
| How often is data backed up and for how long is it kept? | The database is backed up in full daily (around midnight UTC) and seven days of backups are retained; a backup can be restored into a fresh project without touching production. Uploaded files keep prior versions for 90 days (community uploads) and one year (financial documents). Point-in-time recovery is not enabled today. | Yes |
| Are restores tested? | Yes. Most recently on 9 September 2026 the daily backup was restored into a fresh project and verified against production (row counts and latest registration timestamp) before the test project was deleted. Repeated at least every six months. | Yes |
| Is there an uptime commitment? | No contractual SLA on self-serve plans; the published target is 99.9% monthly availability, a goal rather than a guarantee. Releases are rolling deployments behind a load balancer across two application tasks in separate availability zones, so deploys take no downtime; the main sources of unavailability are planned database maintenance, done outside peak hours with notice, and provider incidents (AWS publishes 99.99% monthly SLAs for the ECS and load-balancer services the application runs on). Negotiated agreements may include an SLA with service credits. | Partial |
| How are changes managed? | All changes ship through version control and an automated pipeline; database migrations run as part of each deploy; a failed static-analysis or test step blocks the deploy. | Yes |
| How is the network secured? | Application containers run in private subnets; only the load balancer is reachable from the internet; storage buckets are private except the public assets bucket that serves uploaded event images. | Yes |
Incident response and continuity
| Question | Answer | Status |
|---|---|---|
| Is there an incident response plan? | Operational alerts page the operator in real time. Affected customers are notified without undue delay and within 72 hours of a confirmed personal-data breach, with what happened, what data was involved, and what is being done about it. | Yes |
| What is the breach notification timeline? | Without undue delay and within 72 hours of confirming a personal-data breach. | Yes |
| Is there a business continuity plan? | Yes — the continuity memo covers infrastructure-as-code recreation, data export, and the wind-down notice commitment. | Yes |
| What is the key-person risk? | Real, and stated plainly — a single operator. Mitigations are in the continuity memo — managed infrastructure, scripted deployments, money settling to the customer's own Stripe account, exportable data. | Partial |
Privacy and compliance
| Question | Answer | Status |
|---|---|---|
| Is there a published privacy policy? | Yes, at /privacy, with an app-store-grade disclosure of what is collected. | Yes |
| Are data-subject access and deletion supported? | Yes — self-serve account deletion in the mobile app, deletion and data copies on request on the web. | Yes |
| Is personal data sold or used for advertising? | No. No advertising, no data sale, no third-party analytics or advertising trackers. | Yes |
| Is a subprocessor list published? | Yes, above on this page; changes are recorded in the document's change history. | Yes |
| Which certifications are held (SOC 2, ISO 27001)? | None. NeighborlyEvents is not SOC 2 or ISO 27001 certified; the controls on this page are documented and in operation, and a formal audit is planned when customer volume warrants it. | No |
| Is a data processing addendum available? | Yes. The standard data processing addendum is published at /dpa and executed with the community on request. | Yes |
| What insurance coverage is carried? | None today. Technology E&O and cyber liability coverage will be bound before or at the first paid community agreement; a certificate of insurance is not available until then. | No |
| Where is data stored geographically? | United States only. | Yes |